我正在使用spring web flow 2.4.0和primefaces 5.0。我发现当前端曲面验证失败时,例如数字格式。它将触发在同一表单id中丢失的一些正确值。它没有触发Web流中的任何功能,我没有为这些正确的值分配空值。
我一直试图解决但失败了。你有任何提示或解决方案吗?请帮忙。
注意:它发生在具有selectedvalue的selectmanycheckbox中,itemsdisable为true。如果我删除itemDisabled ....属性,它将没有问题但是启用了复选框
// ------------------------ POPUP Form with tabView ----------------- - //
<p:panelGrid columns="1" >
<p:selectManyCheckbox layout="grid" id="gridTeacherName"
value="#{teacherList.selectTeachers.selectedValue}" >
<f:selectItems itemLabelEscaped="false"
value="#{teacherList.selectTeachers.filterTeacherNameList}"
var="teacher"
itemDisabled=
"#teacherList.selectTeachers.disableCheckBox(teacher.timRefNo)}"
itemLabel="#{teacher.getisServingMoreThanOneSchool()}"
itemValue="# {teacher.timRefNo}" />
</p:selectManyCheckbox>
</p:panelGrid>
答案 0 :(得分:0)
我已经通过将前端验证移动到后端控制器验证来解决了这个问题。验证无法重新分配正确的值时使用以下代码。
if(isinvalid){
dtWebVoEsccp2s3.setInvalid(true);
dtWebVoEsccp2s3.getAttendantList().getSelectTeachers().setSelectedValue(selectedValue);
context.getFlowScope().put("teacherList", dtWebVoEsccp2s3.getAttendantList());
return false;
}