2017-01-26 13 views
0

私はformlyテンプレートとバリデータを使用してメッセージを表示しようとしています。金額フィールドの正形式検証が機能していません

テンプレートがあります。

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

とformly使用して、私はこのメッセージを設定するためのバリデータを呼び出しています。

必要なメッセージは、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 for input要素は文字列で、availableAmountはおそらく整数です。比較する前にintに$viewValueを解析するようにしてください:parseInt($viewValue) > availableAmount

+0

おかげスラバ以下のようにバリデータを使用してこの問題を解決することができました。私は試みましたが、amountValidで成功しませんでした: 'parseInt($ viewValue)> 22'、奇妙な部分は、amountValidのように機能するように抽出しようとした場合です:function validateAmount($ viewValue){ validateTransactionAmount($ viewValue) } ... ..何もエラーメッセージを表示しません。私は条件が満たされた場合にこの機能から真実に戻ります。 – user2836364

+0

この答えのように関数内の '$ error'オブジェクトを更新しようとしてください:http://stackoverflow.com/a/35401893/7362128 –

関連する問題