我創建了一個使用SpringWebFlow的portlet,這個portlet有一個包含一些輸入字段,一些下拉列表和幾個單選按鈕的JSP,我已經使用了BeanValidation和@NotNull和@NotEmpty之類的註釋。爲下拉菜單和輸入字段,但註釋工作正常,沒有爲單選, 工作在我的JSP我這個代碼BeanValidation不適用於單選按鈕
<aui:field-wrapper name="gender">
<aui:input inlineLabel="right" name="gender" type="radio" value="male" label="male" checked="${surveyBean.gender == 'male' ? 'true' : 'false'}"/>
<aui:input inlineLabel="right" name="gender" type="radio" value="female" label="female" checked="${surveyBean.gender == 'female' ? 'true' : 'false'}" />
</aui:field-wrapper>
在我PageBean我有下面的代碼
@NotNull
@NotEmpty
public String getGender()
{
return gender;
}
我想要的是用戶不應該留下任何空白或未選中的字段,對於輸入字段和下拉列表,適當的錯誤消息顯示在Validation.properties文件中,如果它們留空,對於單選按鈕@NotNull和@NotEmpty不起作用他們沒有得到驗證,所以即使他們沒有被選中用戶是否能夠進入下一頁...
請問你們任何人,請指導我在正確的方向?
我檢查過,當單選按鈕沒有被選中時,它的值被設置爲** null **。我寫了一個自定義註釋來檢查它的值,它顯示值爲null,'isValid'方法返回false,問題似乎是MessageInterpolator,它以某種方式拋出空指針異常...你知道它是否可以是因爲BeanValidation是無法確定將錯誤消息放置在哪裏,因爲單選按鈕的編號是兩個,名稱和ID相同?可能這就是這種不同行爲的原因,因爲其他表單字段的驗證完全正確嗎?謝謝 – user3367569 2014-09-14 07:37:14
我想我已經找到問題的根源,在這裏發佈了一個新問題 - http://stackoverflow.com/questions/25831742/radio-button-field-not-found-in-portletrequest-getparametermap – user3367569 2014-09-14 09:08:37