2016-06-13 5 views
1

Ich habe diese einfache Form:Form ist nicht in AngularJS validiert

<form name="assignCtrl.carrierForm"> 
    <md-input-container class="md-block"> 
      <label>Company Name</label> 
      <input required name="carrierName" ng-model="assignCtrl.searchKeyword"> 
      <div ng-messages="assignCtrl.carrierForm.carrierName.$error"> 
       <div ng-message="required">This field is required.</div> 
      </div> 
    </md-input-container> 

    <md-input-container class="md-block"> 
     <label>Company Email</label> 
     <input type="email" name="carrierEmail" ng-model="assignCtrl.companyEmail" required 
           ng-pattern="/^[email protected]+\..+$/" minlength="5" maxlength="100"/> 
     <div ng-messages="assignCtrl.carrierForm.carrierEmail.$error"> 
      <div ng-message="required">Email is required.</div> 
      <div ng-message-exp="['pattern', 'minlength', 'maxlength']">Please enter a valid email 
           address. 
      </div> 
     </div> 
    </md-input-container> 

    <md-button type="submit" ng-disabled="assignCtrl.carrierForm.$invalid" ng-click="assignCtrl.createAndAssign()">Create and Assign 
    </md-button> 

</form> 

Es wird nicht überprüft werden! ng-messages erscheinen überhaupt nicht.

form.$error ist auch leer:

{{assignCtrl.carrierForm.$error | json }} 

Was könnte der Grund sein?

+0

1. Versuchen Sie umbenennen assignCtrl.carrierForm -> assignCtrlCarrierForm (über den gesamten Code) 2. Fügen Sie ng-form direcitve – Vitalii

+0

@Vitalii kann nicht 1! Wie verwende ich 'controllerAs' Syntax –

+0

MD-Input-Container ist dies eine Art von Richtlinie? – Vitalii

Antwort

1

Also, ich habe meinen Fehler gefunden! In meiner riesigen html Datei, das Formular in der Frage stellte sich heraus, in einem anderen form versehentlich zu sein! Deshalb wurde die innere Form entfernt! Also habe ich die äußere Form entfernt und alles ist in Ordnung!