我遇到了一些bean驗證問題。JSF驗證器訂購
基本上我有一個表單,在這裏互聯網用戶可以創建一個新的配置文件,他們必須輸入他們的用戶名。
我想關於驗證用戶名:
- 長度
- 模式
- 如果用戶名已經存在
對於彈頭3我寫我自己的自定義驗證@UserExists 。問題是如果前兩個驗證程序中的任何一個驗證程序都失敗,我不希望驗證程序運行。
我發現在我的UserExists驗證器上使用@GroupSequence會執行與序列有關的技巧,但如果其他驗證器之一報告輸入無效,JSF仍會調用驗證器。我能否以某種方式檢查其他驗證程序是否已失敗?
這是我想檢查了物業:
@Size(min = 3, max = 20)
@Pattern(regexp = "[A-Za-z]+[A-Za-z0-9]*")
@UserExists(message = "User already exists")
private String username;
自定義驗證具有以下屬性:
@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Constraint(validatedBy = UserExistsValidator.class)
@GroupSequence({Size.class, Pattern.class})
public @interface UserExists
謝謝。我已經在參考指南,但顯然不夠徹底。 – foens