角度表单验证无法按预期运行

时间:2014-05-26 22:07:26

标签: angularjs

我的表单中有一个字段,我想只允许整数输入。所以我设置了一个检查如下:

<form name="myform">
<label><input type="number" ng-model="val1" name="val1" required integer>
<span ng-show="myform.val1.$error.integer">Integer input only</span>

我面临的问题是,即使输入浮点数,错误也不会显示出来。 盒子也不会变红。我在这里缺少什么?

2 个答案:

答案 0 :(得分:1)

如果您要对数字字段进行验证,则应检查:

myform.val1.$error.number

答案 1 :(得分:0)

integer不是输入指令。要使用它,您必须创建一个。但是,您可以使用ng-pattern实现相同的目的。

<form name="myform">
    <input type="text" ng-pattern="/^\d+$/" ng-model="val1" name="val1" required />
    <span ng-show="myform.val1.$error.pattern">Integer input only</span>
    <span ng-show="myform.val1.$error.required">This field is required</span>
</form>

/^\d+$/仅匹配整数值。另请注意,输入type已更改为text

工作Fiddle