Validation的onfocusout出错问题及valid()无法远程验证问题

原创 2015年07月10日 14:55:46

settings[eventType].call is not a function错误

使用Validation验证框架时,会需要在文本域失去焦点时触发对当前文本域验证。
不设置onfocusout属性,默认在失去焦点时是触发验证的,不清楚状况的在修改onfocusout的值时会想当
然的认为开启或关闭这个功能只要把他设置成true或false即可,我在使用时就是这样,设置了true,导致在
js中报出了错误:

TypeError: settings[eventType].call is not a function错误

一阵蛋疼后果断翻API,这是官网onfocusout属性的API:
这里写图片描述
原来如此,果断去除 onfocusout:true, 问题解决!
翻看了下Validation中onfocusout源码:

onfocusout: function( element ) {
    if(!this.checkable(element) && (element.name in this.submitted || !this.optional(element))){
        this.element(element);
    }
},

所以在开启这个功能时也可以这样:

onfocusout:function(element) { $(element).valid(); },

同样的属性还有onkeyup和onclick!

valid()无法远程验证

    使用Validation框架,.valid()方法会对表单中所有需要验证的文本域进行验证,valid()不接受任何参数,返回值是
boolean,验证不通过返回false,通过返回true。
    看到这个方法欣喜若狂,可以把“添加验证”和“进行验证”分离开了;是这样分离的:
        1、表单加载完后使用form.validate()添加验证
        2、表单的提交按钮使用button,点击触发自定义的提交事件submitForm
        3、submitForm中使用form.valid()方法,判断表单是否验证通过,通过即提交表单
    这样如果要把验证去掉就只去掉第一步就可以了
    这中方式在表单的长度、类型等验证中都能正常使用;不过,当表单中存在remote远程验证的话,就不灵了,
    这应该是Validation的一个bug。

无奈只能使用.validate()的submitHandler,不过这种就不能算“分离”了:

submitHandler: function(form){   
    ajaxSubmit(form);//自定义的提交方法
}, 

问题成功解决。希望此文对碰到这个问题的朋友有所帮助。

spring4.0整合了validation验证功能

今天翻译博客时 无意中发现的小知识点, 源地址:http://jinnianshilongnian.iteye.com/blog/1990081?page=2#comments Bean ...
  • zhang89xiao
  • zhang89xiao
  • 2016年03月25日 13:53
  • 9021

WCF 远程访问出错的解决方法

本文参考文章:点击打开链接 服务器端宿主为 WinService ,  客户端为 Console 应用程序。  如果部署在本地, 一点问题都没有, 但服务器端部署在虚拟机上时就出错了。  ...
  • yenange
  • yenange
  • 2013年12月24日 16:08
  • 3252

SpringMVC验证框架Validation特殊用法

基本用法不说了,网上例子很多,这里主要介绍下比较特殊情况下使用的方法。 1. 分组 有的时候,我们对一个实体类需要有多中验证方式,在不同的情况下使用不同验证方式,比如说对于一个实体类来的id来说,保存...
  • wangpeng047
  • wangpeng047
  • 2014年12月11日 13:00
  • 53791

springmvc 使用validation校验无法加载properties文件,及验证信息乱码的问题

今天在使用JSR-303 validation进行校验时出现了标题中的相关问题 po类相关代码: @Size(min=1,max=30,message="{items.name.length....
  • Geralt3
  • Geralt3
  • 2017年07月17日 19:44
  • 879

套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的。本地套接字超时是“00:01:00”

实例下载 地址: http://dl5.csdn.net/fd.php?i=894944736291635&s=40776d56dc82a5bd883c8138fddd671f   今天在写W...
  • szstephenzhou
  • szstephenzhou
  • 2012年08月03日 10:51
  • 11561

Jquery validation remote 验证的缓存问题解决方法

最近项目中一直在用 Jquery validation 做校验,结合bootstrap 和 jquery form 感觉效果不错。但是remote验证的缓存问题让我头痛了很久,几乎就像放弃这款插件了。...
  • yangyanjava
  • yangyanjava
  • 2016年04月21日 09:14
  • 161

交叉验证(Cross Validation)方法 && SVM的多分类问题

交叉验证(Cross Validation)方法思想简介 以下简称交叉验证(Cross Validation)为CV.CV是用来验证分类器的性能一种统计分析方法,基本思想是把在某种意义下将原...
  • wm_1991
  • wm_1991
  • 2015年11月24日 11:00
  • 4974

使用Jquery validation组件对easyui-datebox组件的时间进行验证遇到的问题

最近在处理一个”简单”任务,就是在表单提交前,想对表单中输入的时间进行验证,如果没输入数据,提示“必填字段”。下面列一下处理过程中遇到的问题。 问题一 : 使用Jquery 的validation框...
  • linsongbin1
  • linsongbin1
  • 2015年07月31日 09:09
  • 8711

Struts2.1.8 验证框架(validation)的使用中遇到的一些问题(直接访问jsp遇到的错误)

今天要写struts2.1.8中的validation的练习,于是乎凭着以前看过的记忆,边查文档边写……但是随后遇到的问题,令我很恼火,上网一查,原来遇到的人也不少…… 问题描述:按照struts2....
  • allenlinrui
  • allenlinrui
  • 2011年02月19日 11:55
  • 3697

Struts2.1.8 验证框架(validation)的使用中遇到的一些问题(直接访问jsp遇到的错误)--Allen

今天要写struts2.1.8中的validation的练习,于是乎凭着以前看过的记忆,边查文档边写……但是随后遇到的问题,令我很恼火,上网一查,原来遇到的人也不少……    问题描述:按照str...
  • Pautcher_0
  • Pautcher_0
  • 2011年08月15日 22:46
  • 579
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Validation的onfocusout出错问题及valid()无法远程验证问题
举报原因:
原因补充:

(最多只允许输入30个字)