ユーザーをログに記録するために、wicket1.5アプリでEmailTextFieldを使用しています。GMailのエイリアスによると、電子メールには+記号が含まれている可能性がありますが、改札では許可されていません。バリデーターで余分なシンボルを受け入れる方法はありますか?
質問する
890 次
2 に答える
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);
}
}
ここでは、電子メールを検証するために元の Wicket 正規表現に 2 つのプラスを追加するだけです (プラスを太字で強調しようとしました)。
^[_A-Za-z0-9- + ]+(\\.[_A-Za-z0-9- + ]+)*@[A-Za-z0-9-]+(\\.[A- Za-z0-9-]+)*((\\.[A-Za-z]{2,}){1}$)
その後、バリデーターで EmailTextField の代わりに単純な TextField を使用できます。そのように:
new TextField<String>("email").add(new GMailAddressValidator())
于 2012-10-03T09:47:34.197 に答える
0
次のように HTML5 検証をオーバーライドする必要があると思います: Override html5 validation、コンポーネントは入力タイプをメールに設定するだけです。ウィケット検証を追加するとは思いません。js オーバーライドを追加したくない場合は、ウィケット TextField 用の独自のバリデーターを作成するのが最善の方法です。
于 2012-10-03T09:07:35.893 に答える