我有多个表单,每个表单至少有一个基于不同条件呈现的命令按钮。我在表单中有一个数据表,其中一列是<h:selectBooleanCheckbox>
. 在该数据表之外,我放置了一个命令按钮,以便用户可以通过选中复选框来选择一行并提交表单。我能够成功执行此任务。
<h:selectBooleanCheckbox>
但是,当仅单击此特定表单内的命令按钮时,我必须设置为 必需。但是,当我按照以下方式进行操作时,它根本不起作用。当用户没有选择数据表中的任何复选框并提交表单时,如何使复选框成为必需?
< h:form prependId="false" rendered="#{bean.somecondition}">
<h:dataTable id="userdata" value="#{bean.list}" var="obj">
<h:column>
<h:selectBooleanCheckbox required="#{not empty param[commandbutton.clientId]}"
requiredMessage="Please select atleast one check box to proceed."
value="#{bean.checked[obj.Id]}" />
</h:column>
</h:dataTable>
<h:commandButton value="submit" binding="#{commandbutton}"
action="#{bean.someaction}">
</h:commandButton>
</h:form>
我能够使它与 Javascript 一起工作
$(function(){
$('#formId').submit(function(e){
var checkboxes = $("input[type='checkbox']");
if(!checkboxes.is(":checked")){
$('#listcheck').show(); // This is a div contained the validation message.
e.preventDefault();
}
})
});
但我想用 JSF 来做