关于validate验证用户名是否存在的简易理解
来源:互联网 发布:淘宝的膳魔师是真的吗 编辑:程序博客网 时间:2024/06/09 18:44
终于了解了些关于validate的验证应户的流程,写了下来,可能帮助不大,但是希望对跟我一样的新人有些帮助
关于validate验证的使用:
首先先建立一个customerDao的类,写好sql语句,例如:
public boolean existUsername(String username) throws Exception {
Session session = null;
session = HibernateSessionFactory.getSession();
String hql = "select count(*) from Customer where username=?";
Query query = session.createQuery(hql);
query.setString(0, username);
List<Object> list = query.list();
if (list == null || list.size() == 0) {
return false;
} else {
Long count = (Long) list.get(0);
if (count == 0) {
return false;
} else {
return true;
}
}
查询所有的username,然后在再写actionform类,在此类里写好validate的方法,例如:
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors=new ActionErrors();
StringUtil util=new StringUtil();
if(util.isNull(username)){
errors.add("error.username", new ActionMessage("username.null"));
}
else if(!util.isLength(username, 3, 15)){
errors.add("error.username", new ActionMessage("username.length"));
}
else if(!util.isNumOrEngOrCh(username)){
errors.add("error.username", new ActionMessage("username.content"));
}
return errors;
}
再写一个StringUtil的累,将判断条件写好,例如public boolean isNull(String data){
if(data==null||data.length()==0){
return true;
}
return false;
}
然后是写BwrBean类:
public class UsernameDwrBean {
public String isUsernameExist(String username){
CustomerDAO customerDAO=new CustomerDAO();
try {
boolean bool=customerDAO.existUsername(username);
return Boolean.toString(bool);
} catch (Exception e) {
e.printStackTrace();
return "true";
}
}
为了调用以上获取的username;
再写一个jsp或者一个jsp和一个js页面定义好function方法:
function checkUsername(){
var username = document.getElementsByName("username")[0].value;
var rs_username = document.getElementById("rs_username");
if (!isNull(username)) {
if (isLength(username, 3, 15)) {
if (isNumOrEngOrCh(username)) {
UsernameDwrBean.isUsernameExist(username,function(data){
if(data=="true"){
rs_username.innerHTML = getError("用户名已经存在");
}
else if(data=="false"){
rs_username.innerHTML = getRight();
}
});
}
else{
rs_username.innerHTML = getError("用户名格式不正确");
}
}
else{
rs_username.innerHTML =getError("用户名长度在3-15位之间");
}
}
else {
rs_username.innerHTML =getError("用户名不能为空");
}
<html:text property="username" styleClass="input" size="25" maxlength="15" onblur="checkUsername()"></html:text>//onblur是当消失基点时触发,也就是你的鼠标离开text时;
最后呢在你的struts-config.xml中配置好提交的form表单在action中定义validate=“true”;input=“需要跳转的页面”>
OK了;
基本流程和调用呢:
运行jsp,输入完username时进入function方法同时找到触发的checkname()方法,调用bean里的方法进入Dao中将数据库中的username提出,再进入StringUtil里判断时候相等,返回true or false再传回给function方法,此时如果为false的话,可以alert()错误提示,true的话跑到struts-config.xml的配置文件中达到跳转的目的
如有补充和批评请留言,留言必回,谢谢
- 关于validate验证用户名是否存在的简易理解
- 关于验证用户名是否存在的问题
- 利用jquery.validate异步验证用户名是否存在
- 关于ajax前台验证用户名是否存在
- 验证用户名是否存在
- 验证用户名是否存在
- validatebox的自定义验证用户名是否存在
- 利用jQuery.validate异步验证用户名是否存在(包括其他验证规则)
- ajax验证用户名是否存在
- 验证用户名是否存在代码
- jquery验证用户名是否存在
- ajax验证用户名是否存在
- AJAX 验证用户名是否存在
- txt 验证用户名是否存在
- ajax 验证用户名是否存在
- ajax验证用户名是否存在
- ajax验证用户名是否存在
- ajax验证用户名是否存在
- JUnit 入門(六) - 測試設備(Test fixture)
- arcsde9.2中text的存储类型问题(unicode,varchar and nvarchar)
- Web Beans Public Review Draft released
- GFS与RHCS安装记录
- 在存储过程中创建临时表
- 关于validate验证用户名是否存在的简易理解
- 计算两个日期的时间间隔
- ToolStrip动态添加自定义控件
- “我应为王”,比尔盖茨名言--author :邵京国
- 自动分配实例,不像Spring一样需要在配置文件中手工配置类
- DC?设备上下文?怎么翻译的。。。终于弄懂了。
- 全排列
- charindex、PATINDEX
- 颇有启发的一个故事!