Skip to content

Commit c860ec5

Browse files
authored
Merge pull request #352 from citation-file-format/347-version-specific-validation
implement validation for date-released field
2 parents 48b3a9e + 40c8fb0 commit c860ec5

3 files changed

Lines changed: 13 additions & 13 deletions

File tree

src/components/ScreenVersionSpecific.vue

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919
outlined
2020
standout
2121
v-bind:model-value="commit"
22-
v-bind:error="FIXME.hasError"
23-
v-bind:error-message="FIXME.messages.join(', ')"
2422
v-on:update:modelValue="setCommit"
2523
/>
2624

@@ -33,8 +31,6 @@
3331
outlined
3432
standout
3533
v-bind:model-value="version"
36-
v-bind:error="FIXME.hasError"
37-
v-bind:error-message="FIXME.messages.join(', ')"
3834
v-on:update:modelValue="setVersion"
3935
/>
4036

@@ -49,8 +45,8 @@
4945
style="width: 33.33%"
5046
today-btn="true"
5147
v-bind:model-value="dateReleased"
52-
v-bind:error="FIXME.hasError"
53-
v-bind:error-message="FIXME.messages.join(', ')"
48+
v-bind:error="dateError.hasError"
49+
v-bind:error-message="dateError.messages.join(', ')"
5450
v-on:update:modelValue="setDateReleased"
5551
>
5652
<template #append>
@@ -92,8 +88,9 @@
9288
<script lang="ts">
9389
import Stepper from 'components/Stepper.vue'
9490
import StepperActions from 'components/StepperActions.vue'
95-
import { defineComponent } from 'vue'
91+
import { computed, defineComponent } from 'vue'
9692
import { useCff } from '../store/cff'
93+
import { getMyErrors } from 'src/store/validator'
9794
9895
export default defineComponent({
9996
name: 'ScreenVersionSpecific',
@@ -118,7 +115,7 @@ export default defineComponent({
118115
setCommit,
119116
setDateReleased,
120117
setVersion,
121-
FIXME: { hasError: false, messages: [] }
118+
dateError: computed(() => getMyErrors('/date-released'))
122119
}
123120
}
124121
})

src/components/Stepper.vue

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@
2828
icon=""
2929
name="authors"
3030
title="Authors"
31-
v-bind:order="1"
3231
v-bind:active-icon="isValidScreenAuthors.hasError ? 'warning' : 'edit'"
3332
v-bind:color="isValidScreenAuthors.hasError ? 'negative' : 'primary'"
3433
v-bind:error="isValidScreenAuthors.hasError"
34+
v-bind:order="1"
3535
v-on:click="setStepName('authors')"
3636
/>
3737

@@ -97,15 +97,18 @@
9797
/>
9898

9999
<q-step
100-
color="primary"
100+
error-color="negative"
101+
error-icon="warning"
101102
icon=""
102103
name="version-specific"
103104
title="Version specific"
105+
v-bind:active-icon="isValidScreenVersionSpecific.hasError ? 'warning' : 'edit'"
106+
v-bind:color="isValidScreenVersionSpecific.hasError ? 'negative' : 'primary'"
107+
v-bind:error="isValidScreenVersionSpecific.hasError"
104108
v-bind:order="8"
105109
v-if="showAdvanced"
106110
v-on:click="setStepName('version-specific')"
107111
/>
108-
109112
<q-step
110113
active-icon="navigate_next"
111114
color="primary"
@@ -132,8 +135,9 @@ export default {
132135
const { showAdvanced, stepName, setStepName } = useApp()
133136
const { authors } = useCff()
134137
return {
135-
isValidScreenStart: computed(() => getMyErrors('', ['message', 'title'])),
136138
isValidScreenAuthors: computed(() => authorsErrors(authors.value)),
139+
isValidScreenStart: computed(() => getMyErrors('', ['message', 'title'])),
140+
isValidScreenVersionSpecific: computed(() => getMyErrors('/date-released')),
137141
setStepName,
138142
showAdvanced,
139143
stepName

src/store/validator.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ export function getMyErrors (myPath: string, fieldNames?: string[]):messageError
2222
}
2323

2424
const checkForObjectProblems = (item: ErrorObject) => {
25-
// const keywords = ['required', 'additionalProperties']
2625
if (fieldNames !== undefined && item.keyword === 'required') {
2726
return fieldNames.includes(item.params.missingProperty as string)
2827
}

0 commit comments

Comments
 (0)