2011-08-25 21 views
0

我正在使用Spring CDI和一個自定義的「查看」範圍。 (見this它是如何工作的。)如何在Facelets中啓用JSR-303 bean驗證?

的視圖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等產生的。對?

+0

您使用的是JSF 1.x還是2.x? –

+0

@ dar-whi:我的確在使用Facelets。我想這是JSF 2.x. –

+0

Facelets在JSF 2.x之前已經存在 - >問題仍然是一樣的。 –

回答

2

如果您將實現jar添加到classpath,則自動啓用JSR 303驗證JSF。