Например, я хочу, чтобы входные данные были nonEmptyText
и email
.
Если пользователь ничего не вводит, будет отображаться сообщение об ошибке The field is required
, если пользователь вводит неверный адрес электронной почты, будет отображаться Invalid email
.
Но я нашел, я могу просто использовать один:
val loginForm = Form("email"->nonEmptyText)
или
val loginForm = Form("email"->email)
Для более поздней версии, если пользователь не вводит, он все равно покажет Invalid email
, что не то, что я хочу.
Update1
Я пытался ответ Жюльена :
val loginForm = Form("email" -> (email verifying nonEmpty))
Когда пользователь ничего не вводит, сообщение об ошибке будет:
Valid email required, This field is required
Похоже, игра объединяет два сообщения об ошибках email
и nonEmpty
, но это не совсем то, что я хочу. Я надеюсь, что когда пользователь не вводит, сообщение только:
This field is required
Не
Valid email required, This field is required
UPDATE2
Я нашел причину, по которой он отображает комбинированные ошибки, в helper.twitterBootstrapFieldConstructor.scala.html
, там есть:
<span class="help-inline">@elements.errors(elements.lang).mkString(",")</span>
Объединяет все ошибки с ,
.
Для моего случая это должно быть:
<span class="help-inline">@elements.errors(elements.lang).lastOption</span>
Здесь lastOption
для nonEmpty
.
Но я думаю headOption
лучше, но:
val loginForm = Form("email" -> (nonEmptyText verifying email))
Не работает - нет ограничения email
, поэтому мы должны определить его для себя?