似乎无法在div-div标签内执行has-errors?

时间:2015-04-07 03:36:11

标签: javascript html angularjs twitter-bootstrap

我正在使用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,它似乎不再起作用了,我不知道该怎么做。

1 个答案:

答案 0 :(得分:2)

当您的表单中不在范围内时,您的主要问题是尝试访问变量submitted

您只围绕提交按钮包裹了一个控制器,而不是表单的其余部分

更改控制器以包装整个表单并提交按钮可以解决问题,因为ng-class可以使用submitted变量