may have application app angularjs required

angularjs - have - ¿Cuál es la diferencia entre requerido y ng requerido?



ng controller angular 4 (3)

El atributo HTML required="required" es una declaración que indica al navegador que este campo es obligatorio para que el formulario sea válido. ( required="required" es el formulario XHTML, solo usar required es equivalente)

El atributo Angular ng-required="yourCondition" significa ''isRequired (yourCondition)'' y establece el atributo HTML dinámicamente para usted dependiendo de su condición.

También tenga en cuenta que la versión HTML es confusa , no es posible escribir algo condicional como required="true" o required="false" , solo importa la presencia del atributo (presente significa verdadero). Aquí es donde Angular te ayuda con ng-required .

¿Cuál es la diferencia entre required y ng-required (validación de formulario)?


Los elementos de formulario AngularJS buscan el atributo required para realizar funciones de validación. ng-required permite establecer el atributo required función de una prueba booleana (por ejemplo, solo requiere el campo B, por ejemplo, un número de estudiante , si el campo A tiene un cierto valor, si seleccionó "estudiante" como opción )

Como ejemplo, <input required> y <input ng-required="true"> son esencialmente lo mismo

Si se pregunta por qué esto es así (y no solo hace <input required="true"> o <input required="false"> ), se debe a las limitaciones de HTML: el atributo required no tiene un valor asociado. - su mera presencia significa (según los estándares HTML) que se requiere el elemento - por lo que angular necesita una forma de establecer / anular el valor required="false" ( required="false" sería un HTML no válido)


Me gustaría hacer un complemento para la respuesta de tiago :

Supongamos que está ocultando el elemento utilizando ng-show y agregando un atributo required en el mismo:

<div ng-show="false"> <input required name="something" ng-model="name"/> </div>

lanzará un error algo como:

Un control de formulario no válido con nombre = '''' no se puede enfocar

Esto se debe a que simplemente no puede imponer la validación required en hidden elementos hidden . ¡Usar ng-required hace que sea más fácil aplicar condicionalmente la validación requerida, que es simplemente increíble!