I have a form with textfield and textareafield, I have provided allowBlank: false to both the columns, but I need to show Red error design and blank error only on form submission not before that. How to do that?
Form fields have two boolean configs, validateOnBlur
and validateOnChange
. If you set these to false
, fields won't be validated during user input. In this case you have add a code for example to your submit button, to check for validation errors. Ext.form.Basic
has isValid
and hasInvalidField
methods that you can call, the first marks validation errors, the second does not.
@Peter Koltai has the correct answer for classic.
For modern you should use:
validateTextfield(field) {
test...
if(!valid){
field.setErrorMessage('bad decision');
}
},
onBeforeSubmit() {
const form = this.getView(),
values = form.getValues(),
isTextFieldValid = this.validateTextfield(values.fromTextField);
return isTextFieldValid;
}
onSubmit() {
const isValid = this.onBeforeSubmit();
if(!isValid) return;
doMySubmission();
}