2013-03-14 79 views
3

我正在使用hibernate-validator-4.2.0.Final和JSF 2.1進行bean驗證。當我提交頁面@NotEmpty, @NotNull,..工作正確,但我的方法,用@AssertTrue註釋永遠不會被調用。@AssertTrue提交JSF頁面時未調用方法

我改變了訪問修飾符爲public,它更名爲getValid,但方法不會被調用..

@AssertTrue(message = "test") 
    private Boolean isValid() { 
     return ....; 
    } 

回答

0

的問題是,不是所有的字段由JSF驗證,只有那些在我的facelet。

如果我在測試呼叫

SomeObject so = new SomeObject(); 
Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); 
     Set<ConstraintViolation<SomeObject>> violations = validator.validate(so); 

,所述的isValid方法是triggerd。

1

JSF沒有驗證全豆通過驗證#驗證,而是要求驗證#validateValue對每個表單字段。這是是否有效表單字段?

+0

不,它不是表單字段。這是問題:-) ty – mp5 2013-03-22 06:39:50