3
0

Fix required field validator not checking if field can be read by user, before throwing required field error

This commit is contained in:
Jože Fortun
2024-07-08 17:07:09 +02:00
parent 2151243267
commit 301ae29030
2 changed files with 7 additions and 2 deletions
+3 -1
View File
@@ -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)
}
}
+4 -1
View File
@@ -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
}
}