使用占位符<f:all bean =“”>

时间:2015-06-01 19:02:55

标签: grails

在Grails中,您可以使用<f:all bean="beanName" />生成表单。虽然生成的表单看起来很棒,但我想知道是否可以在字段中放置占位符,以便结果如下:

<input type="text" name="question" placeholder="type your question here" />

我尝试在Grails中使用属性验证,如下所示:

class Question {
    static constraints = {
        question(size:5..100, attributes:[placeholder:"type your question here"])
    }
}

但它似乎对生成的HTML没有任何影响。

1 个答案:

答案 0 :(得分:4)

如果有任何混淆,f:all标记由字段插件提供。我认为您无法通过域类约束指定placeholder属性,但还有其他一些选项。

一种选择是为此属性定义自定义(GSP)模板,并在其中指定占位符属性。此模板的路径取决于您使用的插件版本,但您可以找到详细信息here

或者,如果您使用f:field单独渲染每个字段,而不是使用f:all,则可以将其他属性传递到输入字段,例如

<f:field bean="person" property="gender" 
        widget-placeholder="type your question here"/>

在早期版本的插件中(1.5之前),该属性应该改为input-placeholder,例如。

<f:field bean="person" property="gender" 
        input-placeholder="type your question here"/>