0
以下功能驗證一個表單字段:如何防止在else if語句中重複賦值?
validateFields() {
let invalidFields = []
utils.eachDeep(this.schema, field => {
if (!field.validation) return // don't validate
else if (field.validation.isRequired && !field.value) {
field.errorMessage = 'Required field error'
invalidFields.push(field)
} else if (field.validation.minLength && field.value.length < field.validation.minLength) {
field.errorMessage = 'Minimum length error'
invalidFields.push(field)
} else {
// no errors
field.errorMessage = ''
}
})
invalidFields.length > 0
? this.isFormValid = false
: this.isFormValid = true
}
正如你可以看到我在每一個else if
語句重複invalidFields.push(field)
。我怎樣才能防止這一點?
我不認爲你可以給該錯誤信息是不同的。其他兩個人有什麼共同點或父母嗎? –
如果在第一次遇到無效字段時可以返回false,並且使用類似every()的方法進行迭代,則甚至不需要'invalidFields'。 –
@le_m我需要一種方法來檢查所有的字段驗證後,表單是否無效。 – alex