表单中有两个字段的电子邮件地址和电话号码(整数)。该表单使用struts验证框架(ActionClass-validation.xml)进行验证。这两个字段是可选的,所以用户可以将它们留空。但是,如果它们不是空白的,则需要验证这些字段。请帮我了解如何在xml中编写验证器来执行此操作。Struts 2验证字段是否为空
2
A
回答
1
试试这个
<field name="email">
<field-validator type="email">
<message>Invalid Email (empty email accepted)</message>
</field-validator>
</field>
<field name="contact">
<field-validator type="regex">
<param name="expression"><![CDATA[([1234567890]+)]]></param>
<message>Invalid Contact Number (empty number accepted)</message>
</field-validator>
</field>
4
您还可以使用注解。在我看来,它更清晰易懂,易于编写和调试。这是一个例子:
@EmailValidator(type = ValidatorType.SIMPLE, message = "", key = "validation.email")
public String getEmail() {
return email;
}
对于号码,您可以使用正则表达式验证:
@RegexFieldValidator(key = "validation.number", message = "", type = ValidatorType.SIMPLE, expression = NUMBER_PATTERN_STRING)
public String getNumber() {
return number;
}
在JSP可以使用字段(或动作),错误标签引用错误:
<s:fielderror fieldName="email" cssClass="myerrorclass"/>
<s:textfield name="email" cssClass="myclass" cssErrorClass="myothererrorclass"/>
我希望代码是不言自明的。 快乐编码! ;)
+0
如果电子邮件和电话是空的,字符串将通过验证发生Fielderrors。标题是“Struts 2验证字段,如果不是空的” – sytolk
相关问题
- 1. 验证密码字段是否为空
- 2. Struts 2验证器
- 3. Struts 2 XML验证
- 4. 如何验证字段是否为GORM的空字符串?
- 5. 验证Ext.grid.panel是否为空
- 6. 如何在Struts 2中验证数字的文本字段?
- 7. 如何验证密码字段是否为空?
- 8. 我想用JavaScript验证我的必填字段是否为空
- 9. 验证自定义Sharepoint字段是否为空?
- 10. 验证为空或空输入字段
- 11. Struts 2验证中的奇怪行为
- 12. Struts 2 REST和验证
- 13. Struts 2注释验证
- 14. Struts 2验证参数
- 15. 验证问题Struts中2
- 16. Struts 2的验证添加字段错误列出
- 17. Struts 2字段使用动态表单验证
- 18. CakePHP验证非空白失败字段为空还是空
- 19. 验证两个字段中的一个字段是否为零
- 20. jQuery验证2个字段
- 21. Struts的验证框架:验证摘要是空白
- 22. 验证后,Zend Form 2多选字段为空
- 23. 浏览验证此字段为空
- 24. 验证只有当字段不为空
- 25. 验证空字段硒C#
- 26. 验证C#空字段
- 27. PHP空字段验证
- 28. 验证多个空字段
- 29. javascript空字段验证
- 30. Java - 验证空字段
xml是很好,如果你打算重用它们(以节省时间的点),我已经看到很多人绞尽脑汁在正确的正则表达式/ XML语法,只需添加一个验证方法和几行java只需要几分钟! – Quaternion
对于电子邮件来说,在setter上使用@EmailValidator更清晰。请参阅(部分验证注释):http://struts.apache.org/2.x/docs/annotations.html – Quaternion
@Quaternion我也喜欢验证方法。我觉得使用java代码进行验证的功能更强大 – anu