Angular - 使用ngModel。$ parsers.push和表单

时间:2017-02-21 08:21:12

标签: angularjs forms

我正在使用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或者没有,但它仍然无效。 有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:1)

来自AngularDoc

  

从解析器返回undefined意味着发生了解析错误。在   在这种情况下,不会运行$ validators并将ngModel设置为   undefined,除非将ngModelOptions.allowInvalid设置为true。解析   错误存储在ngModel。$ error.parse。

因此,请在输入字段中尝试此操作

<input ng-model-options="{ allowInvalid: true }" />