3

我编写了自己的字段构造函数,如下所示:

@(elements: helper.FieldElements)

@*****************************************************
* Generate input according to Twitter Bootsrap rules *
******************************************************@
<div class="control-group @if(elements.hasErrors) {error}">
    <label class="control-label" for="@elements.id">@elements.label @if(elements.field.constraints.map(c => c._1).contains("constraint.required")) {*}</label>
    <div class="controls">
        @elements.input
        <span class="help-inline">@elements.errors(elements.lang).mkString(", ")</span>
        <span class="help-block">@elements.infos(elements.lang).mkString(", ")</span>
    </div>
</div>

*这个想法是在所需元素的标签之后添加一个星号。

它适用于在表单定义中具有nonEmptyText映射的字段,但我主要关心的是对所需的电子邮件字段做同样的事情:字段是否可以定义为emailoptional(email)在表单中,使用相同的约束constraint.email

那么如何在我的字段构造函数中找到差异并将星号仅添加到所需的电子邮件字段中?

4

1 回答 1

1

专门针对电子邮件:

您可以在表单映射中定义您的电子邮件地址,如下所示:

import play.api.data.Forms.email
import play.api.data.validation.Constraints.nonEmpty

"email" -> email.verifying(nonEmpty)

这将添加您期望的约束:“constraint.required”

于 2014-08-05T14:08:57.623 回答