手工编写代码实现对action中所有方法输入校验

手工编写代码实现对action中所有方法输入校验

通过重写validate() 方法实现, validate()方法会校验action中所有与execute方法签名相同的方法。当某个数据校验失败时,我们应该调用addFieldError()方法往系统的fieldErrors添加校验失败信息(为了使用addFieldError()方法,action可以继承ActionSupport ),如果系统的fieldErrors包含失败信息,struts2会将请求转发到名为input的result。在input视图中可以通过<s:fielderror/>显示失败信息。

validate()使用例子:

 
复制代码
@Override
public void validate() {//会对action中所有方法校验
//super.validate();
if(this.username==null || "".equals(this.username.trim())){
this.addFieldError("username", "用户名不能为空");
}
if(this.mobile==null || "".equals(this.mobile.trim())){
this.addFieldError("mobile", "手机号不能为空");
}else{
if(!Pattern.compile("^1[358]\\d{9}$").matcher(this.mobile).matches()){
this.addFieldError("mobile", "手机号格式不正确");
}
}
}
复制代码
验证失败后,请求转发至input视图:
<result name="input">/WEB-INF/page/addUser.jsp</result>
 
在addUser.jsp页面中使用<s:fielderror/>显示失败信息。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编写JavaScript代码实现用户登录时数据合法性校验功能,可以按照以下步骤进行: 1. 获取用户输入的用户名和密码。 2. 对用户名和密码进行非空校验,如果为空则提示用户输入。 3. 对用户名和密码进行长度校验,如果长度不符合要求则提示用户重新输入。 4. 对用户名和密码进行特殊字符校验,如果包含特殊字符则提示用户重新输入。 5. 如果用户名和密码均合法,则提交表单进行登录操作。 具体实现可以参考以下代码: ``` function validate() { var username = document.getElementById("username").value; var password = document.getElementById("password").value; // 非空校验 if (username == "" || password == "") { alert("用户名和密码不能为空!"); return false; } // 长度校验 if (username.length < 6 || username.length > 20 || password.length < 6 || password.length > 20) { alert("用户名和密码长度应在6-20个字符之间!"); return false; } // 特殊字符校验 var reg = /^[a-zA-Z-9_]+$/; if (!reg.test(username) || !reg.test(password)) { alert("用户名和密码只能包含字母、数字和下划线!"); return false; } // 提交表单 document.getElementById("loginForm").submit(); } ``` 在HTML代码,可以将该函数绑定到登录按钮的点击事件上,例如: ``` <form id="loginForm" action="login.php" method="post"> <label>用户名:</label> <input type="text" id="username" name="username"><br> <label>密码:</label> <input type="password" id="password" name="password"><br> <input type="button" value="登录" onclick="validate()"> </form> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值