2015-09-01 3 views
0

Мой thymeleaf код:Как задать имя поля?

Your favorite number: <input type="text" th:field="*{xy}"/> 

Мои messages.properties:

required={0} is required 
    typeMismatch.java.lang.Integer={0} is not a number 

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

xy is required 

или

xy is not a number 

Но я хотел бы задать имя поля «Ваш любимый номер» вместо «х», поэтому я хотел бы, чтобы отобразить эти сообщения при ошибке:

Your favorite number is required 

или

Your favorite number is not a number 

Как можно задать имя поля для {0}?

ответ

0

Согласно this question, вы можете указать параметры сообщения после клавиши сообщения. Таким образом, вы должны быть в состоянии сделать что-то вроде:

<div th:text="#{${error}('Your favorite number')}">Error message</div> 

Это заполнит параметр {0} с тем, что вы передаете его. error - это переменная, содержащая сообщение проверки (предположительно, от звонка до hasErrors или аналогичного).

Можно даже переместить имя поля в свойствах сообщений, в этом случае вам просто нужно гнездо еще одно сообщение:

<div th:text="#{${error}(#{field.xy})}">Error message</div> 

И в message.properties:

field.xy=Your favorite number 

Это затем вставьте содержимое сообщения field.xy в заполнителе {0} подтверждения.

Смежные вопросы