0

私はstruts2アプリケーションに取り組んでいます。3つのテキストフィールドを持つjspページがあります。そして、action-validation.xmlファイルを使用して各フィールドを検証しています。ここで、最初のフィールドで検証が失敗した場合、他の2つのフィールドをチェックせず、結果を直接jspページ(たとえばa.jsp)に移動して、その単一のフィールドのみのエラーメッセージを表示したいと思います。また、最初のフィールドで検証が失敗しない場合は、残りのファイル、つまり2番目と3番目のファイルをチェックする必要があります。ここで検証が失敗した場合は、jspページに直接移動しますが、別のページ(b.jspなど)にエラーメッセージが表示されます。出来ますか?もしそうなら、私にこれを知らせてください。

私はこれを試しましたが、action-validation.xmlはシングルショットですべてのフィールドを検証しており、すべてのフィールドのエラーメッセージがa.jspの下に書いたjspページに表示されています

前もって感謝します。

4

1 に答える 1

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

「短絡としてマークされた特定のバリデーターの障害は、後続のバリデーターの評価を妨げます」

于 2009-05-06T00:22:00.923 に答える