jquery.validate插件-如何在表单验证之前修剪值

我正在使用Jörn Zaefferr的优秀jquery.validation插件,我想知道是否有一种简单的方法可以在表单元素被验证之前自动修剪它们

以下是验证电子邮件地址的表单的简化但有效的示例:

<!DOCTYPE html PUBLIC“-//W3C//DTD XHTML 1.0//EN”
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
<html>
<头>
<meta http equiv=“Content Type”Content=“text/html;charset=ISO-8859-1”/>
<脚本src=”http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"
type=“text/javascript”&gt&lt/脚本>
<脚本src=”http://ajax.microsoft.com/ajax/jquery.validate/1.5.5/jquery.validate.js" 
type=“text/javascript”&gt&lt/脚本>
<script type=“text/javascript”>
$().ready(函数()){
$(“#commentForm”).validate({
规则:{
电邮:{
要求:正确,
电子邮件:真的
}
}
});
});
&lt/脚本>
&lt/头>
<车身>
<form class=“cmxform”id=“commentForm”method=“get”action=”“>
<=“cemail”标签>电子邮件:&lt/标签&gt&书信电报;输入id=“cemail”name=“电子邮件”
class=“所需电子邮件”/>
<输入class=“submit”type=“submit”value=“submit”/>
&lt/表格>
&lt/车身>
&lt/html>

问题是,有些用户会感到困惑,因为他们不小心在电子邮件地址中输入了一些空格,例如。“[email protected] “. 该表单将不会提交,并显示一条错误消息:“请输入有效的电子邮件地址。”。非技术用户不知道如何识别空白,可能只是退出网站,而不是试图找出他们做错了什么

无论如何,我希望我能在验证之前链接“jQuery.trim(value)”,这样
是否删除了空白,并且验证错误从未发生

我可以使用addMethod来构建自己的电子邮件验证功能。但我肯定有更优雅的解决方案

我成功地做到了这一点

而不是:

电子邮件:{required:true,Email:true}

我这样做:

电子邮件:{
所需:{
依赖:函数(){
$(this.val($.trim($(this.val()));
返回true;
}
},
电子邮件:真的
}

发表评论