Struts2中输入效验
2016-04-22 17:28
232 查看
Struts2中常见的输入效验有一下三种
使用Javascript完成客户端效验
使用Javascript客户端需要编写Javascript 并且需要浏览器支持
并要在表单中这样引用
使用Validate方法进行输入效验
在action类中重写validate()方法,即可在该方法中完成输入效验,如:
使用Struts2框架的输入效验
框架效验需要xml文件,若action的类名为CheckLogin,则该文件为CheckLogin-validation.xml,并且要与对应action位于同一目录下
1.使用字段效验的输入效验
一个完完整的效应配置文件
3.效验器的短路
一个效验器设置short-circuit=”true” 如果这个校验器不通过,本字段后边的校验器不再运行
非字段校验器的优先级高于字段校验器,非字段校验器按照定义的顺序首先运行,然后字段校验器按照定义的顺序运行。
非字段校验不通过,后边所有字段的校验器都不会运行
使用Javascript完成客户端效验
使用Javascript客户端需要编写Javascript 并且需要浏览器支持
function check(form){ with(form){ if(username.value == ""){ alert("用户名不能为空!"); return false; } if(password.value == ""){ alert("密码不能为空"); return false; } return true; } } </script>
并要在表单中这样引用
<form class="form-signin" method="post" onsubmit="return check(this);"action="Login">
使用Validate方法进行输入效验
在action类中重写validate()方法,即可在该方法中完成输入效验,如:
@Override public void validate(){ if(username.length()==0){ addFieldError("username","yonghukong"); } if(pass.trim().length()==0){ addFieldError("pass","没有输入值"); }else if(pass.trim().length()<3){ addFieldError("pass","长度不符合要求"); } }
使用Struts2框架的输入效验
框架效验需要xml文件,若action的类名为CheckLogin,则该文件为CheckLogin-validation.xml,并且要与对应action位于同一目录下
1.使用字段效验的输入效验
一个完完整的效应配置文件
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd"> <validators> <field name="username"> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">10</param> <message>用户名长度必须在${minLength}与${maxLength}之间</message> </field-validator> <field-validator type="requiredstring"> <message>用户名不能为空</message> </field-validator> </field> <field name="password"> <field-validator type="stringlength"> <param name="minLength">6</param> <param name="maxLength">10</param> <message>密码长度必须在${minLength}与${maxLength}之间</message> </field-validator> <field-validator type="requiredstring"> <message>密码不能为空</message> </field-validator> </field> </validators>
2.非字段效验
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd"> <validators> <validator type="stringlength"> <param name="fieldName">username</param> <param name="minLength">6</param> <param name="maxLength">10</param> <message>用户名长度必须在${minLength}与${maxLength}之间</message> </validator> <validator type="stringlength"> <param name="fieldName">password</param> <param name="minLength">6</param> <param name="maxLength">10</param> <message>密码长度必须在${minLength}与${maxLength}之间</message> </validator> </validators>
3.效验器的短路
一个效验器设置short-circuit=”true” 如果这个校验器不通过,本字段后边的校验器不再运行
非字段校验器的优先级高于字段校验器,非字段校验器按照定义的顺序首先运行,然后字段校验器按照定义的顺序运行。
非字段校验不通过,后边所有字段的校验器都不会运行
相关文章推荐
- java中的IO流
- JAVA——内部类
- 使用Gson反序列化Json数据失败,报错JsonSyntaxException: java.lang.IllegalStateException
- Spring报错
- java爬虫学习日记1-基本爬虫原理介绍
- Java中如何创建不可变对象
- Spring Transaction配置简介
- WIN8.1 JDK的安装与配置
- [改善Java代码] 枚举项数量限定为64个以内
- Java ArrayList工作原理及实现
- Spring AOP嵌套调用的问题 (同一类方法内调用切面切不到)
- spring mvc 检查添加的某个字段是否在数据库里已经存在
- [置顶] mac下IDEA配置Spring框架+mybatis+maven配置管理的web项目过程详解
- [Drools]JAVA规则引擎 -- Drools
- springmvc中@InitBinder
- java连接mysql实例及数据库操作
- java实现简单的单点登录
- SpringMVC中JSP取不到ModelAndView的数据原因
- SpringMVC @RequestBody 接收Json数组对象
- spring-security api