Improve field validation to better handle new types
Dieser Commit ist enthalten in:
Ursprung
b66999f845
Commit
080bb7e49c
1 geänderte Dateien mit 20 neuen und 4 gelöschten Zeilen
|
@ -153,7 +153,15 @@ export default {
|
|||
}.property('field.type', 'field.id')
|
||||
});
|
||||
|
||||
const StandardFields = ['text', 'textarea', 'dropdown', 'image', 'checkbox', 'user-selector', 'text-only'];
|
||||
|
||||
FieldModel.reopen({
|
||||
hasCustomCheck: false,
|
||||
|
||||
customCheck() {
|
||||
return true;
|
||||
},
|
||||
|
||||
check() {
|
||||
let valid = this.get('valid');
|
||||
|
||||
|
@ -162,13 +170,21 @@ export default {
|
|||
return true;
|
||||
}
|
||||
|
||||
if (!this.get('customValidation')) {
|
||||
const hasCustomCheck = this.get('hasCustomCheck');
|
||||
if (hasCustomCheck) {
|
||||
valid = this.customCheck();
|
||||
} else {
|
||||
const val = this.get('value');
|
||||
valid = val && val.length > 0;
|
||||
|
||||
this.setValid(valid);
|
||||
const type = this.get('type');
|
||||
if (type === 'checkbox') {
|
||||
valid = val;
|
||||
} else if (StandardFields.indexOf(type) > -1) {
|
||||
valid = val && val.length > 0;
|
||||
}
|
||||
}
|
||||
|
||||
this.setValid(valid);
|
||||
|
||||
return valid;
|
||||
}
|
||||
});
|
||||
|
|
Laden …
In neuem Issue referenzieren