Tengo un formulario con campo de texto y campo de área de texto, proporcioné allowBlank: falso para ambas columnas, pero necesito mostrar el diseño de error rojo y el error en blanco solo en el envío del formulario, no antes. ¿Como hacer eso?
Los campos de formulario tienen dos configuraciones booleanas, validateOnBlur
y validateOnChange
. Si los establece en false
, los campos no se validarán durante la entrada del usuario. En este caso, debe agregar un código, por ejemplo, a su botón de envío, para verificar si hay errores de validación. Ext.form.Basic
tiene métodos isValid
y hasInvalidField
a los que puede llamar, el primero marca errores de validación, el segundo no.
@Peter Koltai tiene la respuesta correcta para el clásico.
Para moderno debes usar:
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(); }