Qual è la differenza tra required e ng-required?

Qual è la differenza tra required e ng-required (validazione del modulo)?

Gli elementi del modulo AngularJS cercano l’attributo required per eseguire le funzioni di convalida. ng-required consente di impostare l’attributo required base a un test booleano (ad esempio, richiede solo il campo B – ad esempio, il numero di uno studente – se il campo A ha un determinato valore – se hai selezionato “studente” come scelta )

Ad esempio, e sono essenzialmente la stessa cosa

Se ti stai chiedendo perché è così, (e non solo fai o ), è dovuto alle limitazioni dell’HTML – l’attributo required non ha un valore associato – la sua semplice presenza significa (come per gli standard HTML) che l’elemento è richiesto – così angular ha bisogno di un modo per impostare / annullare il valore required="false" ( required="false" sarebbe HTML non valido)

Vorrei fare un addon per la risposta di tiago :

Supponiamo che tu stia nascondendo un elemento usando ng-show e aggiungendo un attributo required sullo stesso:

 

genererà un errore simile a:

Un controllo di modulo non valido con nome = ” non è selezionabile

Questo perché non è ansible imporre la convalida required sugli elementi hidden . L’uso di ng-required facilita l’ applicazione condizionale della convalida richiesta, il che è semplicemente fantastico !!

L’ attributo HTML required="required" è una dichiarazione che indica al browser che questo campo è necessario affinché il modulo sia valido. ( required="required" è il modulo XHTML, solo usando required è equivalente)

L’ attributo Angular ng-required="yourCondition" significa ‘isRequired (yourCondition)’ e imposta l’attributo HTML in modo dinamico per te in base alle tue condizioni.

Si noti inoltre che la versione HTML è confusa , non è ansible scrivere qualcosa di condizionale come required="true" o required="false" , solo la presenza dell’attributo è importante (presente significa vero)! Qui è dove Angular ti aiuta con ng-required .