2012-10-03 23 views

回答

1

你必須寫自己的驗證:

public class GMailAddressValidator extends PatternValidator { 

    public GMailAddressValidator() { 
     super("^[_A-Za-z0-9-+]+(\\.[_A-Za-z0-9-+]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*((\\.[A-Za-z]{2,}){1}$)", 
       Pattern.CASE_INSENSITIVE); 
    } 
} 

在這裏我只是添加了兩個加號,以原檢票正則表達式,用於驗證電子郵件(試圖突出粗體加號):

^[_一-Za-z0-9- +] +(\\ [_A-Za-z0-9-+] +)* [A-Za-z0-9 - ] + -Za-z0-9 - ] +)*((\\。[A-Za-z] {2,}){1} $)

之後,您可以使用簡單的TextField和您的vali dator而不是EmailTextField。像這樣:

new TextField<String>("email").add(new GMailAddressValidator()) 
0

我認爲你將不得不重寫像這樣的HTML5驗證:Override html5 validation,該組件只設置輸入類型爲電子郵件,我不認爲它會添加任何檢票驗證。如果你不想添加js覆蓋,最好的辦法是創建你自己的驗證器來檢查wicket TextField。