Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
验证angularjs中表单控制器中包含的指令中的输入字段_Angularjs - Fatal编程技术网

验证angularjs中表单控制器中包含的指令中的输入字段

验证angularjs中表单控制器中包含的指令中的输入字段,angularjs,Angularjs,嗨,我是angularjs的新手,我想验证输入必填字段,我创建了它作为一个指令,并包含在html页面的表单中。我的指令模板页是 <div class="field"> <label for="lastName">{{::"SYSTEM_USERS.LAST_NAME_LABEL" | translate}}</label> <input id="lastName" name="lastName" type="text" ng-model="sys

嗨,我是angularjs的新手,我想验证输入必填字段,我创建了它作为一个指令,并包含在html页面的表单中。我的指令模板页是

<div class="field">
  <label for="lastName">{{::"SYSTEM_USERS.LAST_NAME_LABEL" | translate}}</label>
  <input id="lastName" name="lastName" type="text" ng-model="systemUserInfo.lastName" ng-class="{'error': errorMessages.lastName.$error.required}" required/>
  <div ng-messages="errorMessages.lastName.$invalid" class="errors" ng-show="errorMessages.lastName.$invalid" role="alert">
    <div ng-message="required" class="field-error">
      Required Field
    </div>
</div>

{{::“系统用户.姓氏标签”{124;翻译}
必填字段

我把这个指令作为一个

<system-user-form user="e" show-errors="showSystemUserErrors" id="{{$index}}"></system-user-form>

当我点击下面的按钮时,我想在上面的html页面中显示错误消息

<button type="submit" class="secondary-big-button" ng-click="validtest()" ng-disabled="!editSystemUserForm.$dirty">SAVE</button>
保存

为了在表单中显示错误消息,它应该有一个名称。您还应该将表单名称传递给指令。请参阅下面的代码片段

<form name="errorMessages">
     <system-user-form form-name="errorMessages" user="e" show-errors="showSystemUserErrors" id="{{$index}}"></system-user-form>
</form>

在指令中,应该使用传递的表单名称

<div class="field">
   <label for="lastName">{{::"SYSTEM_USERS.LAST_NAME_LABEL" | translate}}</label>
   <input id="lastName" name="lastName" type="text" ng-model="systemUserInfo.lastName" ng-class="{'error': formName.lastName.$error.required}" required/>
   <div ng-messages="formName.lastName.$invalid" class="errors" ng-show="formName.lastName.$invalid" role="alert">
       <div ng-message="required" class="field-error">
           Required Field
       </div>
   </div>
</div>

{{::“系统用户.姓氏标签”{124;翻译}
必填字段

别忘了将formName添加到指令的作用域中。有关更多信息,请参阅此

你能用这个代码提供一个plunkr或JSFIDLE吗?