中文api 地址  http://code.ciaoca.com/jquery/validation-engine/   和bootstarp 一起使用不会像easyui  验证那样生硬

修改版
原版 包涵实例代码
这里记录几点
ps:验证规则 validate[required] 必须要加上required ,其它加的自定义规则才会生效
$('#id').validationEngine('validate') 直接调用验证不会验证异步  一直都是false,如果不考虑使用异步或自己实现异步,可以考虑使用该方法验证
解决方法:
1.不使用$('#id').validationEngine('validate')的方法
  1. $addDiv.find('#addForm').submit();
提交

  1. $addDiv.find('#addForm').validationEngine({
  2. maxErrorsPerField:1,
  3. ajaxFormValidation: true,
  4. onBeforeAjaxFormValidation: function(){
  5. $addDiv.find('#addForm').attr("action","#");//这是把action修改为#是防止表单多次提交
  6. $.post((baseURL+'/housemanage/nhousegroupdef/add'),$($addDiv.find('#addForm')).serialize(),function(rec){
  7. if(rec.code == "0"){
  8. $.msg.success("新增成功!");
  9. nhousegroupdefglobal.sbtable.bootstrapTable("removeAll")
  10. nhousegroupdefglobal.sbtable.bootstrapTable('refresh');
  11. $addDiv.modal("hide")
  12. }else{
  13. $.msg.fail(rec.desc);
  14. }
  15. },"json").error(function(){
  16. $.msg.fail("新增失败!");
  17. });
  18. }
  19. });
在 初始化属性onBeforeAjaxFormValidation 定义提交前并验证完毕的方法即可
自定义规则的方法
  1. $.validationEngineLanguage.allRules.switch={
  2. "func": function(field,rules,i,options){
  3. if(!$(field).val()){
  4. return false;
  5. }
  6. return true;
  7. },
  8. "alertText": "* 请选择内容"
  9. }
  10. $.validationEngineLanguage.allRules.datecompare={
  11. "func": function(field,rules,i,options){
  12. if($('#regEndtime').val()&&$('#regBegintime').val()>$('#regEndtime').val()){
  13. return false;
  14. }
  15. return true;
  16. },
  17. "alertText": "* 报名开始时间不能大于报名截止时间,请修改!"
  18. }
  19. $.validationEngineLanguage.allRules.lookhousedatecompare={
  20. "func": function(field,rules,i,options){
  21. if($('#regEndtime').val()&&$('#lookhousetime').val()<$('#regEndtime').val()){
  22. return false;
  23. }
  24. return true;
  25. },
  26. "alertText": "* 看房时间必须大于报名截止时间,请修改!"
  27. }
  28. $.validationEngineLanguage.allRules.numcompare={
  29. "func": function(field,rules,i,options){
  30. if($('#maxNum').val()&&$('#minNum').val()>$('#maxNum').val()){
  31. return false;
  32. }
  33. return true;
  34. },
  35. "alertText": "* 成团最低人数必须不能大于成团最高人数,请修改!"
  36. }
  37. $.validationEngineLanguage.allRules.lookhousenameajax={
  38. "url": baseURL+"/housemanage/nhousegroupdef/vaild/lookhousename",
  39. "alertText": "* 看房团名称已被其它用户定义过,请修改!",
  40. "alertTextLoad": "* 正在确认名称是否有其他人使用,请稍等。"
  41. }
建议采用上面的方法 ,不用修改 原生的文件,直接在$.validationEngineLanguage.allRules 属性上扩展规则即可
也可采用继承的方法
  1. $.extend($.validationEngineLanguage.allRules,{
  2. switch:{
  3. "func": function(field,rules,i,options){
  4. if(!$(field).val()){
  5. return false;
  6. }
  7. return true;
  8. },
  9. "alertText": "* 请选择内容"
  10. }
  11. });
注意如果使用框架自带的ajax验证 后台代码返回
  1. @RequestMapping("/vaild/lookhousename")
  2. @ResponseBody
  3. public Object vaildLookHouseName()throws Exception{
  4. String fieldId = RequestUtil.getRequestParameter("fieldId");
  5. String fieldValue = RequestUtil.getRequestParameter("fieldValue");
  6. String backstr = RequestUtil.getRequestParameter("backstr");
  7. Object[] ret = null;
  8. try {
  9. if(backstr.equalsIgnoreCase(fieldValue)){
  10. ret = new Object[]{fieldId,true};
  11. }else{
  12. if(nhousegroupdefService.hasLookHouseName(fieldValue)){
  13. ret = new Object[]{fieldId,false};
  14. }else{
  15. ret = new Object[]{fieldId,true};
  16. }
  17. }
  18. }catch (Exception e){
  19. e.printStackTrace();
  20. logger.error(e.getMessage(), e);
  21. }
  22. return ret;
  23. }
2..使用$('#id').validationEngine('validate')的方法 , 由于使用自带的ajax需要动态传入两个参数的话
ps:不使用原框架对ajax自定义验证的时候
1.如果要跟框架一样提示的风格,成功就要消除错误信息,如果要隐藏错误框,使用:$('#ysfyHouse').parent().find("div[class=formError]").css({opacity: 0}) 并不会冲突的话设置透明度,原框架就是这么弄的,找遍了ajax不设置隐藏框的方法,都不合适 ,最后只能妥协加隐藏框,点保存的时候确认隐藏框的值
2.如果直接alert()的话 ,就只需要设置隐藏框就可以了
  1. $('#ysfyHouse').on('blur', function(){
  2. if(!$(this).val()||$('#ysfyHouse').validationEngine('validate')){ //必须等元素验证完毕才能执行下一步
  3. return;
  4. }
  5. $.post((baseURL+'/housemanage/nhousegroupdef/vaild/lookhousejoin'),{houseid:($("#ysfyHouseid").val()),groupid:(page_exchange_moudel.id)},function(rec){
  6. if(rec.code == "0"){
  7. if(rec.data.result){
  8. $('#ysfyHouse').validationEngine('showPrompt','楼盘已重复,请修改!','error');
  9. $("#ysfyHouseidajaxval").val("1")
  10. }else{
  11. $('#ysfyHouse').validationEngine('showPrompt','成功!','pass');
  12. $("#ysfyHouseidajaxval").val("0")
  13. }
  14. }else{
  15. alert(rec.desc);
  16. }
  17. },"json").error(function(){
  18. alert("请求失败!");
  19. });
  20. })

附件列表

转载于:https://www.cnblogs.com/signheart/p/6599854.html

jquery 悬浮验证框架 jQuery Validation Engine相关推荐

  1. jQuery Validate验证框架详解

    2019独角兽企业重金招聘Python工程师标准>>> 一.导入js库 <script type="text/javascript" src="& ...

  2. atitit.jQuery Validate验证框架详解与ati Validate 设计新特性

    atitit.jQuery Validate验证框架详解与ati Validate 设计新特性 1. AtiValidate的目标1 2. 默的认校验规则1 2.1. 使用方式 1.metadata用 ...

  3. jquery. Validator验证框架ajax返回json数据

    今天在使用jquery. Validator验证框架的过程中遇到了一个这个的问题: 我需要动态的去验证注册邮箱是否已经存在了,所以需要用到ajax请求来解决该问题.但在使用该验证框架的ajax异步请求 ...

  4. php jquery登录验证手机号码,jQuery电话号码验证实例

    摘要:本文实例为大家分享了jQuery电话号码验证的具体代码,供大家参考,具体内容如下电话号码验证://移动号码归属地支持号段:134 135 136 137 138 139 147 150 151 ...

  5. 客户端验证:JQuery Validation Plugin

    jQuery Validate验证框架详解 jQuery校验官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation 一.导 ...

  6. jQuery Validate表单验证框架详解

    jQuery表单验证框架总结 jQuery Validate验证框架详解 jQuery校验官网地址:bassistance.de » jQuery plugin: Validation 一.导入js库 ...

  7. jquery验证框架validate的使用

    参考:https://www.cnblogs.com/linjiqin/p/3431835.html jQuery Validate验证框架详解 jQuery校验官网地址:http://bassist ...

  8. jQuery前端验证(四)

    上一章简单介绍了jQuery前端基本验证(三),如果没有看过,请观看上一章 个人认为,Bootstrap提供的验证框架,是目前前端验证最好,最实用的框架.以后的前端验证,强烈建议均使用bootstra ...

  9. jQuery身份证验证插件

    jQuery身份证验证插件 /*!* jQuery isIDCard Plugin v1.0.0* http://www.cnblogs.com/cssfirefly/p/5629561.html** ...

最新文章

  1. feign调用如何传递token_走进Spring Cloud之五 eureka Feign(服务调用者)
  2. python读取、写入、移动、复制文件(夹)以及其他关于文件(夹)的操作
  3. 众多新点子推动比特币现金BCH普及
  4. 若依管理系统——前后端分离版(二)登陆接口分析及SpringSecurity的登陆认证流程
  5. VO,PO,POJO的定义和区别
  6. idea shell 中的函数 跳转_SpringBoot项目打包+shell脚本部署实践,太有用了
  7. linux操作系统桌面应用与管理第2版,linux操作系统桌面应用与管理(62页)-原创力文档...
  8. python中urlLib的使用
  9. apache2配置rewrite_module
  10. Atitit. null错误的设计 使用Optional来处理null
  11. 计算机硬盘满了怎么解决,电脑磁盘满了怎样清理
  12. ssh: Could not resolve hostname f: Name or service not known的解决
  13. 如何取得cpolar的口令?
  14. EndNote X9 插件在word中的使用以及中文引用格式问题
  15. 【LeetCode】1655. Distribute Repeating Integers 分配重复整数
  16. 阿里云服务器宽带多少合适?宽带选择方法及5M宽带注意事项
  17. 微信小程序返回上一页并刷新
  18. STM32驱动MPU6050基于IIC协议
  19. FMCW雷达测距技术最强最全解析
  20. SpringBoot应用监控Actuator使用的安全隐患

热门文章

  1. 2017软件工程第一次作业
  2. Java垃圾回收机制(Garbage Collection)
  3. Problem 2238 Daxia Wzc's problem 1627 瞬间移动
  4. leetcode算法题--从上到下打印二叉树
  5. wingide运行两个项目_Python开发环境Wing IDE使用教程:设立项目
  6. git配置用户名和密码_IDEA配置码云教程
  7. 关于大流量的网站是如何解决访问量
  8. 在刷一道题,数字回文,以以前做过,刚好昨天也做了一个类似的题,数字反转,原理有点像-----9. Palindrome Number...
  9. 读取CSV数据的集中方式(Java和Oracle)
  10. zabbix——拓扑图入门