フォームには電子メールと電話番号の2つのフィールド(整数)があります。フォームは、struts検証フレームワーク(ActionClass-validation.xml)を使用して検証されます。これらの2つのフィールドはオプションです。そのため、ユーザーは空白のままにすることができます。しかし、それらが空白でない場合、フィールドは検証される必要があります。これを行うには、xmlでバリデーターを記述する方法を知る手助けをしてください。Struts 2は空でない場合にフィールドを検証します
2
A
答えて
1
あなたはまた、注釈を使用することができ、この
<field name="email">
<field-validator type="email">
<message>Invalid Email (empty email accepted)</message>
</field-validator>
</field>
<field name="contact">
<field-validator type="regex">
<param name="expression"><![CDATA[([1234567890]+)]]></param>
<message>Invalid Contact Number (empty number accepted)</message>
</field-validator>
</field>
4
を試してみてください。私の意見では、理解し、書くこととデバッグすることはより明確です。
:あなたはフィールド(またはアクション)エラータグを使用してエラーを参照することができ、あなたのJSPで@RegexFieldValidator(key = "validation.number", message = "", type = ValidatorType.SIMPLE, expression = NUMBER_PATTERN_STRING)
public String getNumber() {
return number;
}
:あなたは正規表現のバリデータを使用することができ、数については
@EmailValidator(type = ValidatorType.SIMPLE, message = "", key = "validation.email")
public String getEmail() {
return email;
}
:これは一例です
<s:fielderror fieldName="email" cssClass="myerrorclass"/>
<s:textfield name="email" cssClass="myclass" cssErrorClass="myothererrorclass"/>
私はコードがかなり自明であることを願っています。 ハッピーコーディング! ;)
+0
電子メールと電話が空の文字列の場合は、検証からのエラーが発生します。タイトルは「Struts 2が空でなければフィールドを検証する」 – sytolk
xmlは、時間を節約できる点まで再利用したい場合に適しています。単純に検証メソッドを追加すると、多くの人が正しい正規表現/ xml構文を頭に入れています。 Javaのいくつかの行には数分しかかかりませんでした! – Quaternion
電子メールについては、セッターで@EmailValidatorを使う方がはっきりしています。参照:(セクション検証アノテーション)http://struts.apache.org/2.x/docs/annotations.html – Quaternion
@Quaternionまた、メソッドの検証も好む。検証のためにJavaコードを使用すると、より強力に感じる – anu