2017-01-26 9 views
0

Я пытаюсь отобразить сообщение, используя формальный шаблон и валидатор.Угловая формальная проверка количества полей не работает

Шаблон имеет:

<div ng-message="required">This field is required</div> 
<div ng-message="amountValid">Please enter valid amount</div> 

и с помощью мерно, я называю валидатор, чтобы установить это сообщение.

необходимо сообщение работа мелкий используя templateOption - требуемый.

В случае встроенной проверки валидатора его правильное состояние не подтверждается. Он просто отображает ошибку, когда я начинаю вводить произвольное значение.

Не могли бы вы помочь? Благодарю.

"templateOptions": { 
      required: true 
}, 
validators: { 
      amountValid: '$viewValue > availableAmount' 
} 

Примечание: availableAmount получает заселение от обслуживания. Я также попытался дать сообщение в валидаторе, но не успел.

ответ

0

Я был в состоянии решить эту проблему с помощью валидатора, как показано ниже

validators: { 
      amountInvalid: function($viewValue, $modelValue, scope) { 
       var disAmountValue = $modelValue || $viewValue; 
       return (disAmountValue <= txnAmount); 
      } 
0

$viewValue для элементов ввода - это строка, а ваш availableAmount, скорее всего, является целым числом. Попробуйте разобрать $viewValue в целое перед сравнением: parseInt($viewValue) > availableAmount

+0

Спасибо Славе. Я пытался, но не имел успеха с количествомValid: 'parseInt ($ viewValue)> 22', странная часть, если я пытаюсь извлечь ее для функции likevalue: function validateAmount ($ viewValue) { validateTransactionAmount ($ viewValue) } ... ..Ни это вообще не отображается сообщение об ошибке. Я вернусь от этой функции в случае соответствия условия. – user2836364

+0

Попробуйте обновить объект '$ error' в вашей функции, как в этом ответе: http://stackoverflow.com/a/35401893/7362128 –