0

我正在研究 struts2 应用程序。我有一个包含 3 个文本字段的 jsp 页面。我正在通过 action-validation.xml 文件验证每个字段。现在我想如果验证在第一个字段失败,它不应该检查其他两个字段,结果直接转到 jsp 页面(比如 a.jsp),仅显示该单个字段的错误消息。如果第一个字段的验证没有失败,那么它应该检查其余的文件,即第二个和第三个文件,现在如果验证在这里失败,那么结果也直接转到 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>

如果 email 为空或无效,则 email2 将不会被验证

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

“标记为短路的特定验证器的失败将阻止对后续验证器的评估”

于 2009-05-06T00:22:00.923 回答