当viewValue无效时,角度会更新模型值

时间:2016-06-10 13:27:56

标签: javascript angularjs

我有表格和输入。输入通过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,我不想更新模型值。我可以这样做吗?

1 个答案:

答案 0 :(得分:0)

在遵循HTML5规范的浏览器中,输入[number]无法按预期使用ngModelOptions.allowInvalid。如果在输入中输入了非数字,则浏览器会将该值报告为空字符串,这意味着ngModel中的视图/模型值以及随后的范围值也将是空字符串。

来自here