2009-05-05 11 views
0

私はstruts2アプリケーションを開発中です。 私は3つのテキストフィールドを持つjspページを持っています。そして、私はaction-validation.xmlファイルを通して各フィールドを検証しています。今、検証が最初のフィールドで失敗したら、他の2つのfiledsをチェックしてはならず、その結果がその単一のフィールドだけのエラーメッセージを表示するjspページ(a.jspなど)に直接行きます。検証が最初のフィールドで失敗しない場合は、残りのフィールド、つまり2番目と3番目のfileldをチェックする必要があります。ここで検証が失敗すると、JSPページに直接行きますが、エラーメッセージを示す別のもの(b.jspなど) 可能ですか?はいの場合は、私にこれを知らせるようにしてください。複数のvalidation.xmlの問題struts2の単一アクションの問題

私はこれを試してみましたが、アクション-validation.xmlが、私は事前にa.jsp下

感謝を書かれているJSPページに表示されるすべてのフィールドのための単一のショットやエラーメッセージ内のすべてのフィールドを検証しています。

答えて

1

フィールドバリデーターに短絡を追加することができます。

<!-- Field Validators for email field --> 
    <field name="email"> 
     <field-validator type="required" short-circuit="true"> 
      <message>You must enter a value for email.</message> 
     </field-validator> 
     <field-validator type="email" short-circuit="true"> 
      <message>Not a valid e-mail.</message> 
     </field-validator> 
    </field> 
    <!-- Field Validators for email2 field --> 
    <field name="email2"> 
    <field-validator type="required"> 
      <message>You must enter a value for email2.</message> 
     </field-validator> 
    <field-validator type="email"> 
      <message>Not a valid e-mail2.</message> 
     </field-validator> 
    </field> 

メールが有効な空であるかどうか、EMAIL2は

http://struts.apache.org/2.x/docs/validation.html

「短絡が、その後のバリデータの評価を防ぐことができますとしてマークされた特定のバリデータの失敗」

検証されることはありません
+0

こんにちは、Roy、 うまく動作します。しかし、電子メールの検証に失敗した場合は、いくつかのjspページ(a.jspなど)に行き、email2の検証に失敗した場合は別のjsp(b.jspなど)に行きます。検証が失敗したときに結果を「入力」として返すので、私はそれに対して1つのJSPページだけを対象とすることができます。可能であれば、解決策を提示してください。 返信いただきありがとうございます。 –

+0

Vky、これを閉じてください。私はこの質問に対する答えをhttp://stackoverflow.com/questions/828534/action-validation-xml-in-struts2-open-different-pages-when-validation-failsで提供しています。 -at-d。 –

関連する問題