我正在使用AngularJS进行一些基本的表单验证。
到目前为止,这是代码:
<form name="myForm" id="form_id" method="post" novalidate>
<div class="form-group">
<label for="myField_input" class="col-sm-2 control-label">Field</label>
<div class="col-sm-10" ng-class="{ 'has-error' : myForm.myField.$invalid && (myForm.myField.$dirty || submitted)}">
<input type="text" class="form-control" name="myField" id="myField_input" placeholder="MyField" ng-model="myField" required>
</div>
</div>
</form>
<div class="form-group" ng-controller="AddPropertyController">
<button class="btn btn-default col-md-4 col-sm-offset-5" ng-click="submitProperty()">Submit</button>
</div>
单击按钮时,在控制器中,$ scope.submitted = true;
当我有一个带标签和输入的div标签时,此错误字段有效。但是在div中有一个div,它似乎不再起作用了,我不知道该怎么做。
答案 0 :(得分:2)
当您的表单中不在范围内时,您的主要问题是尝试访问变量submitted
。
您只围绕提交按钮包裹了一个控制器,而不是表单的其余部分
更改控制器以包装整个表单并提交按钮可以解决问题,因为ng-class
可以使用submitted
变量