Ho un modulo in cui determinati input hanno attributo "richiesto". Ho anche un pulsante che aggiunge campi modulo quando si fa clic, ma attiva sempre il messaggio di convalida del modulo quando i campi richiesti non vengono compilati. Voglio solo abilitare la convalida del modulo per ng-submit e non ng-click. È possibile?Come disabilitare la convalida del modulo per ng-clic?
risposta
Se si osserva la specifica del W3C, sembrerebbe che la cosa ovvia da provare sia contrassegnare gli elementi del pulsante con type = 'button' quando non si desidera che vengano inviati.
La cosa da notare, in particolare, è dove si dice
Un elemento pulsante con alcun attributo tipo specificato rappresenta la stessa cosa di un elemento pulsante con l'attributo type impostato su "submit"
Ah, il problema era che non ho specificato un tipo = "" per il mio pulsante e per default è stato inviato. – harveyxia
Usa novalidate
per il modulo:
<form name="aForm" novalidate>
o l'uso ng-forma, invece:
<div ng-form name="aForm">
Controllare this link per ulteriori informazioni sulla convalida del modulo in AngularJS.
quando non si desidera l'invio su un pulsante specifico, quindi definire type = "button". funzionerà al 100%
Ciao jitendra: questa è la stessa soluzione già suggerita da Amit Sharma. Hai qualche consiglio diverso? –
usa 'type =" button "' di button ...! – Jai