我有表格和输入。输入通过ng-model绑定到控制器中的值。现在我有一个自定义验证器,在某些情况下使输入的值无效。但是,如果我的验证器使值无效,我无法确定是否更新了模型值。我不能在我的控制器中观看,所以我不知道怎么能找到这个。伪代码在这里:
(提示:代码段不会运行)
class Controller {
constructor() {
this.myVal = 0;
}
}
<input type="number"
id="max"
name="max"
ng-model="ctrl.myVal"
restrict-value="form.min.$viewValue" />
现在可以看到我的问题了。 restrict-value指令将在ngModel上注册$ validator,如果输入字段的值大于另一个字段(min),则返回false。如果max的值低于min,我不想更新模型值。我可以这样做吗?
答案 0 :(得分:0)
在遵循HTML5规范的浏览器中,输入[number]无法按预期使用ngModelOptions.allowInvalid。如果在输入中输入了非数字,则浏览器会将该值报告为空字符串,这意味着ngModel中的视图/模型值以及随后的范围值也将是空字符串。
来自here