2016-06-13 79 views
1

验证我有这样的简单形式:形式是不是在AngularJS

<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> 

它不被验证!根本没有出现ng-messages

form.$error也为空:

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

可能是什么原因?

+0

1.尝试重命名assignCtrl.carrierForm - > assignCtrlCarrierForm(全部代码) 2.添加ng形式direcitve – Vitalii

+0

@Vitalii不能做1!因为我使用'controllerAs'语法 –

+0

md-input-container是这种某种指令吗? – Vitalii

回答

1

所以,我发现我的错误!在我的巨大html文件中,问题中的表格竟然是错误地在另一个form之内!这就是为什么,内部形式被删除!所以,我删除了外表,一切都很好!