Css 修改Wicket ComponentTag父项的属性

Css 修改Wicket ComponentTag父项的属性,css,validation,wicket,Css,Validation,Wicket,我有一张小门表格。在这个表单中有几个输入标签。这些输入标记被放入div容器中。这些div容器“生成”样式(即,它们具有样式类)。 如果子输入验证失败,我想访问这种类型的div标记。我试图通过一个行为来实现这一点,但我无法访问div标记(它将是输入标记的父项)。如果验证失败,如何修改父div标记的样式 <div style="myStyle"> <label>Field1</label> <input type="text"/> </d

我有一张小门表格。在这个表单中有几个输入标签。这些输入标记被放入div容器中。这些div容器“生成”样式(即,它们具有样式类)。 如果子输入验证失败,我想访问这种类型的div标记。我试图通过一个行为来实现这一点,但我无法访问div标记(它将是输入标记的父项)。如果验证失败,如何修改父div标记的样式

<div style="myStyle">
    <label>Field1</label> <input type="text"/>
</div>

字段1

首先感谢您:在Wicket中,您只能修改组件的标记。当然,页面上的所有内容都是某个组件或其他组件的标记,最坏的情况是
页面

WebMarkupcontainer cont = new WebMarkupContainer( "myInputcontainer" );
cont.add( new Textfield( "myInput" ) );
form.add( cont );
但是您肯定不想修改页面类生成其输出的方式。这意味着您必须将包含的div也作为一个组件

<div wicket:id="myInputContainer">
    <label>Field1</label> <input wicket:id="myInput" type="text"/>
</div>

从这里很容易,您可以将您的
行为
附加到容器和Bob的叔叔上。

如果您经常这样做,这是定制面板的绝佳机会。表单元素需要标签、字段、验证指示符、样式等。我有一个FormComponentContainer面板,希望里面有一些FormComponent(TextField、Radio等),并提供上述所有内容。非常有用,很好的观点。将其作为泛型类编写可能也很有用,参数类型是包含在中的
FormComponent
的类。