2015-11-27 9 views
5

いくつかのエラーチェックを行い、さまざまな入力フィールドで使用される関数を作成しました。 My機能コードは以下の通りです:角度変換でパラメータを渡す方法

errorChecks = (element, minlength) => { 
    if (element.$dirty) { 
     if (element.$error.required == true) { 
     this.errorMessage = "REQUIRED"; 
     return; 
     } else if (element.$viewValue.length < minlength) { 
      this.errorMessage = "MINLENGTH" // MINLENGTH error with parameters here 
      return; 
     } else { 
      this.errorMessage = null; 
      return; 
     } 
    } 
} 

私はangularjsは私のエラーメッセージを翻訳し使用しています。

"MINLENGTH": "{{ element }} must be at least {{ value }} characters", 

私は動的にそのような翻訳にパラメータを渡すことで、私のエラーメッセージを変更したい:

errorChecks(username, 5); 

私はユーザ名フィールドに1つの文字を入力すると、エラーが言う:username must be at least 5 charactersを。

私も可能なことをしようとしていますか?

答えて

6

elementminlengthをテンプレートに渡したくない場合は、おそらくこのコントローラーの内部で翻訳する方が最適でしょう。

まず、$translateをコントローラに注入する必要があります。あなたのメッセージを生成する:

this.errorMessage = $translate('MINLENGTH', { element: element, value: minlength }); 

この方法もまた、hereの輪郭を描いています。テンプレート(hereを概説)でこれを行うには

{{ MINLENGTH | translate : '{ element: element, value: minlength }' }} 
関連する問題