【发布时间】:2015-07-01 23:26:05
【问题描述】:
我有这么多值的表单,每个都有自己的验证。为简单起见,我在这里只取整数和字符串。
<form jsf:id="aaaa" >
<input type="text"
jsf:id="number-field"
jsf:value="#{managedBean.bean.value1}"
jsf:converterMessage="Error Integer"
</input>
<input type="text"
jsf:id="text-field"
jsf:value="#{managedBean.bean.value2}"
jsf:converterMessage="Error Text"
</input>
<button jsf:id="reset-data-button"
jsf:action="#{managedBean.save}" jsf:immediate="true">
submit
<f:ajax execute="@form" render="@form/>
</button>
</form>
value1 是整数,value2 是字符串。
在我的 bean 中,我手动验证字段并存储到数据库。我不想多次显示错误消息,所以我添加了 immediate true。
在我的豆子里
public void save() {
if (value1.valid() && value2.valid() && facesContext.isValidationFailed()) {
//do some action
}
}
虽然I have entered string value in value1 which is integer field 我得到facesContext.isValidationFailed() as false 但应该是真的。
我这里有什么错误吗?
我正在使用 mojarra 2.2.8
【问题讨论】:
-
@kolossus 是的,我的意思是 bean.value1 是整数类型。你能帮忙吗