两个数字的Jquery验证精确长度?
Posted
技术标签:
【中文标题】两个数字的Jquery验证精确长度?【英文标题】:Jquery validation exactlength for two numbers? 【发布时间】:2014-12-07 19:29:08 【问题描述】:我正在为表单使用验证器插件。 我会使用方法精确长度,但有 2 个数字。 我会检查该字段是 11 个字符还是 10 个字符。
jQuery.validator.addMethod("exactlength", function(value, element, param)
return this.optional(element) || value.length == param;
, jQuery.format("Please enter exactly 0 characters."));
$("#formtovalidate").validate(
rules:
somefield:
exactlength: 10,
exactlength: 11
);
你能做到吗?我怎样才能改变方法来做到这一点? 谢谢
【问题讨论】:
【参考方案1】:你不能两次传递同一个键,你需要做的是把它作为一个数组传递
jQuery.validator.addMethod("exactlength", function(value, element, param)
if (this.optional(element))
return true;
if ($.isArray(param))
return $.inArray(value.length, param) != -1;
else
return value.length == param;
, function(param, input)
return jQuery.validator.format("Please enter exactly " + ($.isArray(param) ? param.join() : param) + " characters.")
);
$("form").validate(
debug: true,
rules:
f1:
exactlength: [10, 11]
,
f2:
required: true,
exactlength: 3
);
//
$('#save').click(function()
$('form').valid()
return false;
)
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.12.0/jquery.validate.js"></script>
<form>
<div>
<input name="f1" />
</div>
<div>
<input name="f2" />
</div>
<input id="save" type="button" value="save" />
</form>
【讨论】:
不明白为什么返回这个错误:TypeError: a.validator.methods[d] is undefined 使用的验证器版本是什么? 对不起,我搞错了!!这正是我一直在寻找的!非常感谢!以上是关于两个数字的Jquery验证精确长度?的主要内容,如果未能解决你的问题,请参考以下文章
jQuery 密码验证和深入理解JSONP前端jQuery框架