0

我正在使用 SpringWebFlow 创建一个 portlet,这个 portlet 有一个 JSP,其中包含一些输入字段、一些下拉列表和几个单选按钮,我使用了 BeanValidation 和 @NotNull 和 @NotEmpty 等注释对于下拉列表和输入字段工作正常,但是注释不适用于 RadioButton,在我的 JSP 中我有这段代码

<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 不起作用意味着它们没有得到验证,所以即使他们没有被选中,用户也可以进入下一页......

你们中的任何人都可以指导我正确的方向吗?

4

1 回答 1

0

为支持 bean 设置的性别值是多少。Bean Validation 并不关心它从哪里获取数据。它对下拉菜单和单选按钮一无所知。有趣的是调用验证时 bean 中的不同值。如果没有例外并且没有违反约束,我会假设性别既不为空也不为空。例如,它可以是一个空格。@NotEmpty和之间有区别NotBlank。后者也会检查空格字符。

于 2014-09-13T15:36:16.933 回答