Fix required field validator not checking if field can be read by user, before throwing required field error
This commit is contained in:
@@ -384,8 +384,9 @@ export default {
|
||||
if (r.deletedAt) {
|
||||
return
|
||||
}
|
||||
|
||||
const fields = p.module.fields
|
||||
.filter(({ canUpdateRecordValue }) => canUpdateRecordValue)
|
||||
.filter(({ canReadRecordValue, canUpdateRecordValue }) => canReadRecordValue && canUpdateRecordValue)
|
||||
.map(({ name }) => name)
|
||||
|
||||
// cover the edge case where all fields are not updatable
|
||||
@@ -397,6 +398,7 @@ export default {
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
this.errors.push(...errs.set)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,10 @@ function genericFieldValidator (field: ModuleField): ValidatorFn<Record> {
|
||||
const { value } = arg0
|
||||
|
||||
if (field.isRequired) {
|
||||
if (value === undefined || IsEmpty(value)) {
|
||||
const isNewRecord = this.recordID === NoID
|
||||
const canManageFieldValue = isNewRecord ? true : field.canReadRecordValue && field.canUpdateRecordValue
|
||||
|
||||
if ((value === undefined || IsEmpty(value)) && canManageFieldValue) {
|
||||
return emptyErr
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user