表单验证功能(登陆表单上显示报错信息)
方式一:客户端(前端界面JavaScript)完成。
方式二:服务器端(后端struts的验证框架)完成。
如果出错,则返回登陆界面,并在表单上提示出错信息。
步骤1:重写从Actionsupport继承的validate()方法。
addFieldError(key名,错误提示信息):提示错误信息的方法。
注意:validate()方法会对Action中所有方法进行验证,只对登陆进行验证,注销不需要进行表单验证,所以在注销方法上加@SkipValidation注解,保证执行注销方法时不对表单进行验证。
public void validate() {
if("".equals(user.getUsername().trim())){
addFieldError("usernameError", "用户名不能为空");//错误字段提示信息
}
if((user.getPassword()).length()<6){
addFieldError("passwordError","密码不能小于6位");
}
}
步骤2:
加入struts核心标签库<%@ taglib prefix="s" uri="/struts-tags"%>
加入
<div>
<s:fielderror/> <!-- 显示表单验证的出错信息 -->
</div>
No result defined for action action.UsersAction and result input - action - file:/D:/InstallSoft/Apache%20Software%20Foundation/Tomcat%207.0/webapps/imooc_sh/WEB-INF/classes/struts.xml:11:59
解决方法:在struts2配置文件中配置下
<result name="input">/users/Users_login.jsp</result>
原理:input是struts默认的逻辑视图名称,表示当前页面输入参数验证错误时,会自动返回要跳转的页面。
struts2 标签
validate默认会对action中所有方法验证,可以在不需要验证的方法上加注解@SkipValidation
addFiledError()
重写actionsupport里一个支持表单验证的方法validate()