Angular JS ng-click验证

时间:2014-12-22 12:16:49

标签: angularjs

我希望在单击“提交”按钮后检查是否有输入表格中记下的内容,如果不是ng-class将范围颜色更改为红色。我希望在提交后不是所有时间都有红色,这里是链接:

<form name="myForm" validate class="form-horizontal">

  <div class="control-group" >
    <label ng-class="{bad: ( myForm.name.$invalid && myForm.name.$pristine )  }"  >Name:</label>
    <input type="text" name="name" placeholder="Name" ng-model="user.name" required/>
    <span ng-show="isInvalid('name')" class="help-inline">Name is required</span>
    <span ng-show="isValid('name')">Great!</span>
  </div>

  <button type="submit">SUB</button>

</form>

http://plnkr.co/edit/m3dqBnpPenbY65xa3PXH?p=preview

1 个答案:

答案 0 :(得分:2)

你需要跟踪是否点击了提交按钮,这里你可以维护一个范围变量并检测表单是否已提交

<button type="submit" ng-click="submitted = true">SUB</button>

如果有人点击了提交,那么有一个名为submitted的范围变量true

<label ng-class="{bad: ( myForm.name.$invalid && myForm.name.$pristine && submitted )  }"  >Name:</label>

这是Plunker