2012-01-10 2 views
3

Для всех моих представлений формы я создаю документы для представления в представляемой информацииPlay Framework Подтверждающие поля

например. государственной статической силы formAction (@Valid FormDocument formDocument) { ... }

Мне нравится, как он держит мои контроллеры глядя аккуратным и делает его легче увидеть, что запрашивается в форме.

Мой внешний вид регистрации документов (обрезанные), как это:

@Email 
@Required 
public String email; 
@Required 
public String password; 
@Required 
public String confirmPassword; 

Мой вопрос является, есть ли способ я могу проверить, что пароль соответствует полю confirmPassword внутри самого этого класса. В настоящее время я проверяю контроллер и передаю сообщение проверки, если он терпит неудачу. Я думаю, что это было бы более аккуратно, если бы это было сделано внутри самого документа.

Спасибо за любые отзывы/ответы заранее!

+0

возможно дубликат [проверки Cross поля с Hibernate Validator (JSR 303)] (HTTP://stackoverflow.com/questions/1972933/cross-field-validation-with-hibernate-validator-jsr-303) – axtavt

ответ

8

С Play documentation у них есть ваш конкретный прецедент.

Равно

проверяет, что значение равно значению другого параметра, используя метод равно значению в , например для проверки подтверждения пароля поле.

Аннотация синтаксис:

@Equals("passwordConfirmation") String password

Таким образом, все, что вам нужно будет это

@Email 
@Required 
public String email; 
@Equals("confirmPassword") 
public String password; 
@Required 
public String confirmPassword; 
+0

doh, спасибо большое, я никогда не замечал этого! – Boombastech

+0

@Codemwnci Знаете ли вы, как я это делаю в scala? – SKK

+1

@karthi прочитайте это https://www.playframework.com/documentation/2.5.x/ScalaForms, он показывает, как создать форму, установить ограничения и затем проверить ее. Это очень отличается от Play 1 (я предполагаю, когда вы скала, вы имеете в виду игру 2), но все это есть. – Codemwnci

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