这样当默认的方式不能满足您的要求的时候就可以用callback方式,自己实现函数用于完成特殊的判断,比如判断中国居民身份证号是否正确……
四、异步验证
最常见的应用就是验证用户名是否注册过,下面看我的程序中的代码:
HTML
<form> <div> <label for="loginName">用户名:</label> <div> <div> <input type="text" placeholder="请输入您登录用的用户名"> <span> </span> </div> </div> </div> </form>
JS
<script> $(function () { $('form').bootstrapValidator({ message: 'This value is not valid', feedbackIcons: { valid: 'glyphicon glyphicon-ok', invalid: 'glyphicon glyphicon-remove', validating: 'glyphicon glyphicon-refresh'}, fields: { loginName: { message: '用户名验证失败', validators: { notEmpty: {message: '用户名不能为空'}, stringLength: {min: 6,max: 18,message: '用户名长度必须在6到18位之间'}, regexp: {regexp: /^[a-zA-Z0-9_]+$/,message: '用户名只能包含大写、小写、数字和下划线'}, remote: { message: '用户名已经存在', url: '/ajax/checknewuser', //Action的地址,这里我试过,应该是不能加入EL,但网上看到可以加<%=%>输出某个值,我试验没成功,不知道为什么 data:{ //传参数 username:function(){return $("#loginName").val()}, //username参数名,不用引号,如果想传入特定控件的值一定加入function,这样才能把值传入,不知道为什么…… }, delay : 2000,//每输入一个字符,就发ajax请求,服务器压力还是太大,设置2秒发送一次ajax(默认输入一个字符,提交一次,服务器压力太大) type: 'POST'//请求方式 } } } } }); }); </script>
Action 用 SpringMvc实现
package com.aocshallo.actions.ajax; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.json.JSONObject; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping("/ajax") public class AjaxAction extends BaseAction { public AjaxAction() { // TODO Auto-generated constructor stub } @RequestMapping("/checknewuser") public void checkNewUser(HttpSession session,HttpServletRequest request,HttpServletResponse response) throws IOException{ //。。。。 这是您的判断逻辑 Boolean ret = true; // 这是最终返回值 //下面是response的设置 response.setContentType("text/xml;charset=utf-8"); response.setHeader("Cache-Control","no-cache"); try { //这是输出为JSON串的一种方式,结果应为JSON串,属性名一定是valid,值为true或false JSONObject jsobjcet = new JSONObject(); jsobjcet.put("valid", ret); response.getWriter().write(jsobjcet.toString()); //System.out.println(jsobjcet.toString()); } catch (IOException e) { e.printStackTrace(); } } }
您的Action最终输出的一定是下面形式的文本:
{"valid":false} //表示不合法,验证不通过 {"valid":true} //表示合法,验证通过
所以才使用JSONObject做为输出。
以上所述是小编给大家介绍的BootStrap-validator 使用记录(JAVA SpringMVC实现),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章: