当我点击一个按钮时,我弹出一个对话框表单,此表单用于创建一个只有一个字段的新学校记录。 我已经为这个唯一的输入字段添加了必需的验证,并且一切正常,但我唯一不知道该怎么做的是当我点击提交时,无论是否验证,对话框将通过以下代码解除:
initDataTable();
// Dismiss the dialog
$('#dialogNewSchool').dialog('close');
在关闭对话框之前,我应该进行表单验证检查(类似于从验证类返回),我如何在javascript中执行此操作?我正在使用JSF 2.1实现。
顺便说一下,我不想使用客户端验证,因为这个字段不仅需要验证。
感谢。 ;)
答案 0 :(得分:0)
如果我说得对,你想在验证错误的情况下保持对话框打开吗?
您可以在页面的某处添加以下代码
<h:panelGroup id="global_flag_validation_failed_render">
<h:outputText id="global_flag_validation_failed" value="true" rendered="#{facesContext.validationFailed}"/>
</h:panelGroup>
点击提交按钮后,会像上面这样呈现上面的块:
<f:ajax onevent="closeMyDialogIfAllOk" render="@form global_flag_validation_failed_render"></f:ajax>
并在你的js代码中
function closeMyDialogIfAllOk(data){
if(data.status === 'success') {
if($("#global_flag_validation_failed").length === 0){
$("#dialog_id").dialog("close");
}
}
}
有关详细信息,请查看此处:How to find indication of a Validation error (required=“true”) while doing ajax command