2017-02-21 24 views
0

Я использую 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

почему идея использовать $ анализаторами, проверка? –

+0

изменить вопрос - изменить значение, есть ли другой способ? –

+0

значение изменения модели? входа? –

ответ

1

От AngularDoc

Возвращения неопределенный от синтаксического анализатора значит, что произошла ошибка синтаксического анализа. В этот случай не будет запускать $ validators, а ngModel будет установлен в undefined, если ngModelOptions.allowInvalid не установлено в true. Ошибка parse сохраняется в ngModel. $ Error.parse.

Таким образом, попробуйте это в поле ввода

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