无法使用Angular.js验证输入字段

时间:2016-01-14 06:27:35

标签: javascript angularjs validation

我在使用Angular.js验证输入字段时遇到问题。我需要输入字段只需要数字(i.e-0,1...)并且不允许使用任何字符。我正在解释下面的代码。

<div ng-class="{ 'myError': billdata.dis.$touched && billdata.dis.$invalid }">
<input type="text" name="dis" id="discount" class="form-control" placeholder="Add discount" ng-model="discount" ng-keypress="clearField('discount');" ng-keyup="setLatestSalePrice();" ng-pattern="/^[0-9]$/">
</div>
</div>
<div class="help-block" ng-messages="billdata.dis.$error" ng-if="billdata.dis.$touched">
<p ng-message="pattern" style="color:#F00;">This field needs only number(e.g-0,1..9).</p>
</div>

此时,当我输入数字时,验证错误消息也会显示。请帮我解决此问题。

1 个答案:

答案 0 :(得分:0)

一对夫妇改变

  • 将输入容器更改为form标记
  • 为表单标记命名,例如name='form'
  • 将myError条件更改为!form.$valid
  • 将正则表达式更改为/^(\s*|\d+)$/以允许空字符串或数字。

codepen http://codepen.io/Anthonyzou/pen/XXaBdy