如何在Facelets中启用JSR-303 bean验证?

时间:2011-08-25 04:22:24

标签: spring facelets bean-validation

我正在使用spring CDI和自定义的“View”范围。 (请参阅this了解其工作原理。)

视图bean使用JSR-303验证规则注释如下:

@Scope("view")
public class MyBean implements Serializable {

    String message;

    @NotNull
    @Size(min = 10)
    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public void action1() {
        ...
    }

}

用户表单:

...
<h:form id="form1">
    <h:inputText name="message" value="${myBean.message}" />
    <p:commandButton value="Update" actionListener="${myBean.action1}" />
</h:form>

但是,验证不起作用。我错过了faces-config.xml中的内容吗?我想应该有一些代理类,可能是由AspectJ weaver生成的。正确?

1 个答案:

答案 0 :(得分:2)

如果将实现jar添加到类路径,则自动启用JSF的JSR 303验证。