检查父字段是否已填满,那么子字段也应填写

时间:2014-06-18 06:16:03

标签: angularjs

我认为这很简单,但我找不到方法..... :(

我想要的是,我希望子字段只有填充父字段并且才能填充如果标准不匹配,则应提交按钮。

到目前为止,我已经尝试过了:

<form name="frmApp">
  <input type="number" ng-model="parentField" />
  <input type="number" ng-model="childField" />

  <p ng-if="parentField != '' && childField == ''">both should be filled</p>
</form>

<a ng-disabled="frmApp.$invalid" class="btn btn-info">Submit</a>

Demo JS FIDDLE

注意:两者都应填写或者不应填写

1 个答案:

答案 0 :(得分:1)

您可以使用ng-required并指向parentField属性以检查其是否已填充

<html>
  <head>
    <link href="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet"/>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
  </head>
  <body ng-app>
    <form name="frmApp">
      <input type="number" name="parentField" ng-model="parentField"/>
      <input type="number" name="childField" ng-model="childField" ng-required="parentField != null" />
      <p ng-if="frmApp.$invalid">both should be filled</p>
    </form>
    <a ng-disabled="frmApp.$invalid" class="btn btn-info">Submit</a>
  </body>
</html>

这样,当parentField获取值时,ng-required选项会更改子输入。使用input type="number"看起来有点愚蠢,您可能需要添加其他验证以查看数字字段中是否存在伪造文本 - 因为文本不会与input type="number"绑定到模型。< / p>

<强> Fiddle