Struts2 框架验证

拼搏现实的明天。 2023-10-16 23:20 88阅读 0赞

一、对于输入校验struts2提供了两种实现方法:
1、采用手工编写代码实现。
2、基于XML配置方式实现。
注意:配置验证文件ActionName-alias-validation.xml(常用)
使用基于XML配置方式实现输入校验时,Action也需要继承ActionSupport ,并且提供校验文件和action类放在同一个包下 ,
ActionName是action的类名; alias是表单提交的action名; validation是固定写法

二、具体的步骤:

1、编写数据输入页面

  1. <style type="text/css">
  2. span {
  3. color: red;
  4. font-size: 12px;
  5. }
  6. </style>
  7. </head>
  8. <body>
  9. <!-- 错误提示 -->
  10. <!-- <s:fielderror></s:fielderror> -->
  11. <h3>使用RegisterAction-alia-validation.xml进行验证</h3>
  12. <s:form action="reg2" method="post" namespace="/">
  13. 用户名:<s:textfield name="user.username" />
  14. <span>${fieldErrors['user.username'][0] }</span>
  15. <br />
  16. 密 码:<s:password name="user.password" />
  17. <span>${fieldErrors['user.password'][0] }</span>
  18. <br />
  19. 年 龄:<s:textfield name="user.age" />
  20. <span>${fieldErrors['user.age'][0] }</span>
  21. <br />
  22. 邮 箱:<s:textfield name="user.email" />
  23. <span>${fieldErrors['user.email'][0] }</span>
  24. <br />
  25. 电 话:<s:textfield name="user.phone"
  26. maxlength="11" />
  27. <span>${fieldErrors['user.phone'][0] }</span>
  28. <br />
  29. <s:submit value="提交" />
  30. </s:form>
  31. <s:debug />
  32. </body>
  33. </html>

2、编写Action类并配置相关action

  1. public class RegisterActionValidate extends ActionSupport {
  2. private User user;
  3. public User getUser() {
  4. return user;
  5. }
  6. public void setUser(User user) {
  7. this.user = user;
  8. }
  9. @Override
  10. public String execute() throws Exception {
  11. // 5)配置验证文件ActionName-alias-validation.xml
  12. // ActionName是Action的名称 RegisterAction
  13. // alia表单提交的action的名称
  14. return SUCCESS;
  15. }
  16. }

3、在Action类同目录下创建验证文件ActionName-alias-validation.xml

4、使用验证器编写验证规则

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE validators PUBLIC
  3. "-//Apache Struts//XWork Validator 1.0.3//EN"
  4. "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
  5. <validators>
  6. <field name="user.username">
  7. <field-validator type="requiredstring">
  8. <param name="trim">true</param>
  9. <message>用户名不能为空!</message>
  10. </field-validator>
  11. <field-validator type="stringlength">
  12. <param name="minLength">6</param>
  13. <param name="maxLength">8</param>
  14. <message>用户名必须是在${minLength}~${maxLength}之间的字符!</message>
  15. </field-validator>
  16. </field>
  17. <field name="user.password">
  18. <field-validator type="requiredstring">
  19. <param name="trim">true</param>
  20. <message>密码不能为空!</message>
  21. </field-validator>
  22. <field-validator type="stringlength">
  23. <param name="minLength">6</param>
  24. <param name="maxLength">8</param>
  25. <message>密码必须是在${minLength}~${maxLength}之间的字符!</message>
  26. </field-validator>
  27. </field>
  28. <field name="user.age">
  29. <field-validator type="required">
  30. <message>年龄不能为空!</message>
  31. </field-validator>
  32. <field-validator type="int">
  33. <param name="min">1</param>
  34. <param name="max">120</param>
  35. <message>年龄必须是在${min}~${max}之间的字符!</message>
  36. </field-validator>
  37. </field>
  38. <field name="user.email">
  39. <field-validator type="requiredstring">
  40. <message>Email不能为空!</message>
  41. </field-validator>
  42. <field-validator type="email">
  43. <message>Email格式不正确!比如:(aa@qq.com)</message>
  44. </field-validator>
  45. </field>
  46. <field name="user.phone">
  47. <field-validator type="requiredstring">
  48. <message>手机不能为空!</message>
  49. </field-validator>
  50. <field-validator type="regex">
  51. <param name="regexExpression"><![CDATA[^1[358]\d{9}$]]></param>
  52. <message>手机必须是13,15,18开头的号!</message>
  53. </field-validator>
  54. </field>
  55. </validators>

5、在页面上输出验证信息
Center

发表评论

表情:
评论列表 (有 0 条评论,88人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Struts2框架验证

    struts2有框架验证,我这边主要说的是XML配置的struts2的框架验证,继承validate方法的验证还是比较容易的,至于有人用注解来验证不怎么常见我也不讲了(感觉好多