2015-11-27 3 views
5

Я создал функцию, которая выполняет некоторые проверки ошибок и будет использоваться в разных полях ввода. Мой код функции ниже:Как передать параметры в угловом переводе

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; 
     } 
    } 
} 

Я использую перевод углов для своих сообщений об ошибках.

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

Я хотел, чтобы динамически изменить сообщение об ошибке, передавая параметр к переводам, как так:

errorChecks(username, 5); 

Если я ввожу 1 символ в поле имени пользователя ошибка будет сказать: username must be at least 5 characters.

Является ли то, что я пытаюсь сделать даже возможным?

ответ

6

Возможно, вам будет лучше, если вы переведете внутри контроллера для этого, если вы не хотите передавать element и minlength в шаблон.

Во-первых, вам необходимо ввести $translate в ваш контроллер. Затем для создания вашего сообщения:

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

Этот метод также обрисовал here.

Для этого в шаблоне (описанной here):

{{ MINLENGTH | translate : '{ element: element, value: minlength }' }}