我尝试创建一个统一的登录/注册页面。为此我们使用TabPanel。一个标签用于注册,另一个标签用于登录。用户应该选择要做什么,然后填写输入。
问题列表:注册有许多必需的输入。因此,如果您想从注册选项卡切换到登录选项卡,验证器会触发并打印关于未填充的输入字段的错误消息。是否有一种方法可以在选项卡切换时禁用验证或将验证委托给bean函数。在这个函数中,我可以根据选择的选项卡自己验证。
任何想法?
<h:form>
//some inputs
<rich:tabPanel id="panelRegisterLogin" switchType="server" activeItem="#{bean.registerLoginStatus}" itemChangeListener="#{bean.updateRegisterLoginStatus}">
<rich:tab header="logIn" id="logIn" name="logIn">
//inputs to log in an existing user
</rich:tab>
<rich:tab header="Register" id="registerNow" name="registerNow">
//inputs to register a new user connected to managed bean
//some of them are required="true"
</rich:tab>
</rich:tabPanel>
//submit-button
</h:form>
将immediate="true"
添加到整个rich:tabPanel
或单个rich:tab
元素中
立即指示该组件的值必须被转换和的标志立即验证(即在应用请求值阶段),而不是等到流程验证阶段。