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')
|
}.property('field.type', 'field.id')
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const StandardFields = ['text', 'textarea', 'dropdown', 'image', 'checkbox', 'user-selector', 'text-only'];
|
||||||
|
|
||||||
FieldModel.reopen({
|
FieldModel.reopen({
|
||||||
|
hasCustomCheck: false,
|
||||||
|
|
||||||
|
customCheck() {
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
|
||||||
check() {
|
check() {
|
||||||
let valid = this.get('valid');
|
let valid = this.get('valid');
|
||||||
|
|
||||||
|
@ -162,12 +170,20 @@ export default {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this.get('customValidation')) {
|
const hasCustomCheck = this.get('hasCustomCheck');
|
||||||
|
if (hasCustomCheck) {
|
||||||
|
valid = this.customCheck();
|
||||||
|
} else {
|
||||||
const val = this.get('value');
|
const val = this.get('value');
|
||||||
|
const type = this.get('type');
|
||||||
|
if (type === 'checkbox') {
|
||||||
|
valid = val;
|
||||||
|
} else if (StandardFields.indexOf(type) > -1) {
|
||||||
valid = val && val.length > 0;
|
valid = val && val.length > 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this.setValid(valid);
|
this.setValid(valid);
|
||||||
}
|
|
||||||
|
|
||||||
return valid;
|
return valid;
|
||||||
}
|
}
|
||||||
|
|
Laden …
In neuem Issue referenzieren