Posted this播放用户组;我考虑了唯一的观点,所以希望得到一个观点,或者甚至是一个答案; - )
嵌套表单非常棒,但是有一个小故障可以将样板添加到javascript或scala模板中。
例如,给定:
@inputText(field = _form("user.email"),
'_label-> "Email Address*",
'class-> "required email",
'placeholder-> "jdoe@gmail.com"
)
生成的输入字段类似于:
<input id="user_email" name="user.email" ...>
现在,当您想验证客户端的电子邮件地址时,您必须引用DOM ID:$('#user_email')
$('#email')
更自然。
我知道我可以在模板中手动设置id attrib,但是默认情况下,它希望从id attrib中删除嵌套名称(在这种情况下是用户)。
查看github views helper directory,我找不到可以访问生成的id的位置(即我需要重载哪个文件以及如何)。
任何人都知道如何解决此问题和/或采取更好的方法?
答案 0 :(得分:1)
以下是自动生成字段ID的位置:
您实际上没有任何方法可以覆盖该行为,但您可以编写自己的@inputText
帮助程序,在生成HTML时从ID中删除“user_”部分。
基本上复制粘贴default helper并替换
<input type="text" id="@id" ...
使用您自己的代码,例如
<input type="text" id="@processFieldId(id)" ...
或(未经测试!):
<input type="text" id="@(id.split('_').last)" ...
然后只需在模板中导入自定义帮助器,就像使用@inputText
一样使用它。