如何在Play中创建自定义输入字段助手?

时间:2016-04-21 09:33:59

标签: scala playframework playframework-2.0

在我的Play应用中,我想在文本输入字段中添加自定义属性。因此,我使用这个助手:

@inputText(userForm("username"), Symbol("my-attr") -> "val: username")

我经常使用这个助手,导致丑陋的代码重复。因此,我想将其封装在自定义帮助程序中。

我试过这样:

@(field: play.api.data.Field, args: (Symbol,Any)*)(implicit handler: FieldConstructor, messages: play.api.i18n.Messages)

@inputType = @{ args.toMap.get('type).map(_.toString).getOrElse("text") }

@input(field, args.filter(_._1 != 'type):_*) { (id, name, value, htmlArgs) =>
    <input type="@inputType" my-attr="val: @name" id="@id" name="@name" value="@value" @toHtmlArgs(htmlArgs)/>
}

不幸的是,我不知道如何通过调用来使用它,例如:@inputTextMyAttr?我不确定我是否了解自定义帮助程序,但所需的结果只是调用:

@inputTextMyAttr(userForm("username"))

并自动将htmlArgs设置为Symbol("my-attr") -> "val: @name"

0 个答案:

没有答案