Custom Field Constructors
所有的输入 helper 都会接受一个隐式(implicit)的 FieldConstructor
来处理这一部分。默认的构造器(在作用域内没有指定其他域构造器时会被调用),生成的 HTML 类似于:
这个默认的域构造器支持传入额外的选项到输入 helper:
'_label -> "Custom label"
'_id -> "idForTheTopDlElement"
'_error -> "Force an error"
'_showErrors -> false
注意: 这只是一个例子。你想要实现多复杂的功能都可以。你同样还能使用 .field
来获取原始的表单域。
现在使用模板函数来创建 FieldConstructor
:
implicit val myFields = FieldConstructor(html.myFieldConstructorTemplate.f)
}
模板会使用你的域构造器来渲染输入文本。
你也可以为 FieldConstructor
设置一个隐式(implicit)的值:
@helper.inputText(myForm("username"))