我正在使用ngModel.$parsers.push
来更改用户输入:
ngModel.$parsers.push(function (value) {
//some logic here - changing the vaue
//set the new value
ngModel.$setViewValue(value);
// renders the input with the new viewValue
ngModel.$render();
return ture; //in any case
});
它工作正常,但它会使form
字段unvalid
显示在其下方form.invalid.parse
。
我试图返回value
或者没有,但它仍然无效。
有什么想法吗?
感谢。
答案 0 :(得分:1)
从解析器返回undefined意味着发生了解析错误。在 在这种情况下,不会运行$ validators并将ngModel设置为 undefined,除非将ngModelOptions.allowInvalid设置为true。解析 错误存储在ngModel。$ error.parse。
中
因此,请在输入字段中尝试此操作
<input ng-model-options="{ allowInvalid: true }" />