我正在研究struts2应用程序。 我有一个有3个文本字段的jsp页面。我通过action-validation.xml文件验证每个字段。现在我希望如果验证在第一个字段失败,它不应该检查其他两个文件并且结果直接转到jsp页面(例如a.jsp),仅显示该单个字段的错误消息。如果验证在第一个字段没有失败,那么它应该检查文件的其余部分,即第二个和第三个文件结构,现在如果验证失败,那么结果也直接转到jsp页面但不同的一个(比如b.jsp)显示错误消息。 可能吗?如果是,那么请让我知道。
我试过这个但是action-validation.xml验证了单个镜头中的所有字段,所有字段的错误消息显示在我在a.jsp下编写的jsp页面中
提前致谢。
答案 0 :(得分:1)
您可以在字段验证器中添加短路
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>
如果电子邮件为空或无效,则不会验证email2
http://struts.apache.org/2.x/docs/validation.html
“标记为短路的特定验证器故障将阻止后续验证器的评估”