2010-07-28 46 views
0

我有一个相当大的形式的JSF文件,该表格由3个部分组成:用户数据(一套od日历和数据输入),用户项目(一个数据表和一个有一些输入的小表和一个基于小表中提供的信息添加新条目的按钮),其他(如用户数据)。我有一个巨大的,每一个部分是嵌套的(因为例如当按下“添加项目”按钮,我想验证它)。跳过嵌套<a4j:region>

但是,当我按下应该处理整个巨大形式(全部3部分)的“注册”按钮有没有办法跳过一个嵌套?因为在注册新用户时,我并不需要验证数据表中用于添加新项目的字段。所以基本上给出的是这样的:

<h:form> 
<a4j:region> 
    <a4j:region> 
    </a4j:region> 

    <a4j:region id="skipMe"> 
    </a4j:region> 

    <a4j:region> 
    </a4j:region> 
</a4j:region> 
<a4j:commandButton value="Register" action="#{bean.someAction}"/> 
</h:form> 

有没有办法跳过该地区所有组件的验证与“skipMe” ID当我们单击命令?

回答

0

也许不是最好的解决方案,但我找到了一个 - 在skipMe区域(@NotNull等)中使用JSR303注释验证之前。现在我简单地在每个字段中使用validator=""属性,并且当我按下“注册”按钮时,我在控制器中编写我自己的验证器,然后添加一个f:param name="skipValidation" value="true",然后在我的验证器中使用它,当该值设置为true时,跳过。猜猜对我来说没关系,因为我不得不为这个表单编写自定义验证器。

0

你可以尝试使用过程属性:

其中id指出了一些面板(如H:panelGrid的,没有区域)。您还可以将进程绑定到值绑定,但确保该值在“应用请求值”阶段可用。

+0

嘿谢谢你的回答,我会很感激,如果你可以编辑它,因为在这里在stackoverflow你需要标记之间的任何<>代码或它不会被打印;) – 2010-07-30 22:22:34

+0

我没有任何代码在我的答复中。你看到的是我完整的回应。 – 2010-08-05 21:44:11