我有下一个标记:
<input type="number" name="test" ng-model="data.test" step="any" ng-pattern="/^\d*[\.|,]?\d*$/" />
<span class="error" ng-show="!editForm.test.$valid || editForm.test.$error">Please, enter valid decimal number, such as 15.6</span>
当我在此输入标记中编辑值时,未显示有关无效值(在span标记中)的消息,并且表单提交值将设置为null。当我写入此输入的必需属性时,显示了消息,但我不需要此字段。如何强制AngularJS显示没有必需属性的错误消息?
修改
抱歉,$ error无法正常工作
2. JSFiddle:http://jsfiddle.net/9w2HZ/。输入第一个字段非数字,在下一个非数字中输入,然后您可以看到不同的数字。
答案 0 :(得分:0)
在你的jsFiddle中,在第一种情况下,奇怪的是如果你使用type =“text”,那么验证错误会正确显示,而在开发人员工具中,你会看到ng-invalid-pattern被添加到输入中。
如果您查看开发人员工具,在第二种情况下,如果您给出任何无效的数字,则将ng-invalid-required类添加到输入而不是ng-invalid-pattern。
如果没有使用type = number的具体原因,也许只需使用type = text作为输入控件。