Orden de validación de formulario Angularjs
Tengo un formulario html simple que contiene entrada de texto regular.ng-minlength
, ng-maxlength
yng-pattern
angulardirectivas de entrada de formulario incorporadas se establecen en la entrada.
Problema:ng-pattern
la verificación se aplica antes de la verificación de longitud porng-minlength
yng-maxlength
.
Pregunta: ¿cómo puedo cambiar el orden de verificación predeterminado: es decir, primero verificar la longitud y luego aplicar la verificación de patrón?
Ejemplo:
<body ng-app>
<div>
<form name="myForm">
Name: <input name="name" type="text" ng-model="name" ng-minlength="3" ng-maxlength="16" ng-pattern="/^\w+$/"/>
<div ng-show="myForm.name.$dirty && myForm.name.$invalid">
<span ng-show="myForm.name.$error.pattern">Pattern error</span>
<span ng-show="myForm.name.$error.minlength || myForm.name.$error.maxlength">Length error</span>
</div>
<br/>
<input type="submit" value="Submit">
</form>
</div>
</body>
Comportamiento actual:
ingrese "#" - vea "Error de patrón"ingrese "###" - vea "Error de patrón"Comportamiento deseado:
ingrese "#" - vea "Error de longitud"ingrese "###" - vea "Error de patrón"FYI, relacionadojsfiddle.
Gracias por adelantado.