2013-05-20 12 views
5

Sto usando AngularJS e hanno una forma dove voglio sul pulsante Invia per essere disabilitato se alcuni campi non vengono compilati

Il metodo standard sembra essere il seguente:.

<form ng-app name="myForm"> 
    <label>Name</label> 
    <input type="text" name="name" ng-model="form.name" required> 
    <input type="submit" ng-disabled="myForm.name.$invalid"> 
</form> 

http://jsfiddle.net/YMSRU/

Tuttavia, se ometto il modello dal campo di input la convalida non funziona e non ho bisogno di alcun modello sui miei campi di input (invio il mio modulo usando la direttiva ngUpload così è effettivamente inviato all'azione del form in un iframe).

C'è qualche soluzione o dovrei aggiungere modelli casuali solo per fare in modo che la validazione funzioni? Sembra un brutto lavoro.

+1

Secondo la documentazione http://docs.angularjs.org/api/ng.directive:input.text ng-model è richiesto –

risposta

3

Si potrebbe semplicemente fare il check invalid a livello di modulo, quindi non c'è bisogno di definire un modello per ogni ingresso:

<form ng-app name="myForm"> 
    <label>Name</label> 
    <input type="text" name="name" required> 
    <input type="submit" ng-disabled="myForm.$invalid"> 
</form> 
+1

Grazie, ma temo che il problema persista ancora: http://jsfiddle.net/YMSRU/1/ – user1767586

0

non trovi il tuo modello al vostro tag ingresso di test: NG-model =" form.name "

Problemi correlati