修改Wicket ComponentTag Parent的属性

Soc*_*ash 2 css validation wicket

我有一个Wicket表格.在此表单中有一些输入标记.这些输入标签放入div容器中.这些div容器"制作"样式(即它们具有样式类).如果子输入的验证失败,我想访问div标签的这种样式.我尝试使用Behavior执行此操作,但我无法访问div标记(它将是输入标记的父级).如果验证失败,我怎么能修改父div标签的样式?

<div style="myStyle">
    <label>Field1</label> <input type="text"/>
</div>
Run Code Online (Sandbox Code Playgroud)

谢谢

biz*_*lop 6

首先要做的事情是:在Wicket中,您只能修改组件的标记.当然,页面上的所有内容都是某个组件的标记,最糟糕的是您的Page课程.

但您绝对不希望修改页面类生成其输出的方式.这意味着你必须使你的包含div成为一个组件.

<div wicket:id="myInputContainer">
    <label>Field1</label> <input wicket:id="myInput" type="text"/>
</div>
Run Code Online (Sandbox Code Playgroud)

由于没有更多功能需要容器,因此在Java代码中使用WebMarkupContainer该类.

WebMarkupcontainer cont = new WebMarkupContainer( "myInputcontainer" );
cont.add( new Textfield( "myInput" ) );
form.add( cont );
Run Code Online (Sandbox Code Playgroud)

从这里开始很容易,你可以把你Behavior的容器和鲍勃的叔叔连在一起.

  • 如果你发现自己做了很多,这对于自定义面板来说是一个绝佳的机会.表单元素需要标签,字段,验证指示器,样式等.我有一个FormComponentContainer面板,希望在其中有一些FormComponent(TextField,Radio等),并提供上述所有内容.很有用. (2认同)