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!