Fix form validation exiting early

This commit is contained in:
Andrew Kingston 2021-08-19 14:02:03 +01:00
parent c3cf48c268
commit 7d4a656ce2
1 changed files with 10 additions and 13 deletions

View File

@ -118,24 +118,21 @@
return fieldInfo return fieldInfo
}, },
validate: (onlyCurrentStep = false) => { validate: (onlyCurrentStep = false) => {
// Validate only the current step if required let valid = true
let validationFields = fields
// Reduce fields to only the current step if required
if (onlyCurrentStep) { if (onlyCurrentStep) {
const stepFields = fields.filter(f => get(f).step === get(currentStep)) validationFields = fields.filter(f => get(f).step === get(currentStep))
for (let field of stepFields) {
if (!get(field).fieldApi.validate()) {
return false
}
}
return true
} }
// Otherwise validate all fields // Validate fields and check if any are invalid
for (let field of fields) { validationFields.forEach(field => {
if (!get(field).fieldApi.validate()) { if (!get(field).fieldApi.validate()) {
return false valid = false
} }
} })
return true return valid
}, },
clear: () => { clear: () => {
// Clear the form by clearing each individual field // Clear the form by clearing each individual field