struts2中单个操作的多个validation.xml中的问题

发布于 2024-07-19 13:33:42 字数 390 浏览 4 评论 0原文

我正在开发struts2应用程序。 我有一个包含 3 个文本字段的 jsp 页面。 我通过 action-validation.xml 文件验证每个字段。 现在我希望如果验证在第一个字段失败,则不应检查其他两个字段,结果直接转到 jsp 页面(例如 a.jsp),仅显示该单个字段的错误消息。 如果验证在第一个字段没有失败,那么它应该检查其余的字段,即第二个和第三个 fileld,现在如果验证在这里失败,那么结果也会直接转到 jsp 页面,但不同的页面(例如 b.jsp)显示错误消息。 是否可以? 如果是,请让我知道这一点。

我已经尝试过了,但是 action-validation.xml 正在单次验证所有字段,并且所有字段的错误消息都显示在我在 a.jsp 下编写的 jsp 页面中

提前致谢。

I am working on struts2 application.
I have a jsp page having 3 textfields. And I am validating each field through action-validation.xml file. Now I want if validation get fail at first field it should not check the other two fileds and result directly go to jsp page (say a.jsp) showing error message for that single filed only. And if validation does not fail at first field then it should check rest of the fileds, i.e second and third fileld and now if validation fails here then also result directly go to jsp page but different one (say b.jsp) showing error message.
Is it possible? If yes then please make me aware with this.

I have tried this but action-validation.xml is validating all fields in single shot and error messages for all fields is showing in a jsp page that I have written under a.jsp

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

为你拒绝所有暧昧 2024-07-26 13:33:42

您可以在现场验证器中添加短路,

例如

<!-- 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

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

You can add a short-circuit in your field-validator

e.g.

<!-- 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>

if email is empty or not valid, email2 will not be validated

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

"Failure of a particular validator marked as short-circuit will prevent the evaluation of subsequent validators"

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文