有没有一种更优雅、可扩展的方式可以向JQuery验证自定义方法添加多个条件
Is there a more elegant, extensible way of adding multiple conditions to a JQuery validation custom method?
我过去为JQuery验证插件组合了一些自定义方法,但这是我第一次想要针对多个条件进行检查。
这是一个简单的场景,我试图检测字段中是否存在html。我不需要一个广泛的Regex,我只想告诉用户html在客户端是允许的。如果字段值中有html,我当然会阻止服务器端提交,但我想要一个良好的用户体验。
必须有一种更简单的方法来寻找一些关键元素,可以通过循环数组来完成吗?
<script language="javascript">
$(document).ready(function(){
$.validator.addMethod("findhtml", function(value, element) {
var commentclean = new Boolean();
if (element.value.indexOf("<") != -1)
{
commentclean= false;
//alert('found <');
}
else if
(element.value.indexOf("http") != -1){
commentclean= false;
//alert('found http');
}
else
{
commentclean= true;
//alert('nothing found')
}
return this.optional(element) || ( commentclean );
}, "* match the string");
});
</script>
也许是这样的?
$(document).ready(function(){
$.validator.addMethod("findhtml", function(value, element) {
var commentclean = true,
disallowed = ['<', 'http'];
for (var i=0, len = disallowed.length; i<len; i++) {
if (element.value.indexOf(disallowed[i]) != -1) {
commentclean = false;
break;
}
}
return this.optional(element) || ( commentclean );
}, "* match the string");
});
您可以这样做:
var el=$('<div>').html(value);
commentclean = ( el.html() == el.text()
&& el.text().indexOf('http') == -1
);
相关文章:
- 验证jquery中的数字
- 在发送之前验证jQuery或Javascript中的URL
- 提交/验证Jquery
- 验证 jQuery 中带有一个小数位的负数
- 如何验证 jquery cookie .js兼容性
- 验证 JQuery 中是否存在 URL
- 电子邮件验证 jquery
- 选择.js并验证 jquery
- 验证 jquery 评级星
- 如何为这些要求创建 URL 验证 jQuery
- 时间选择器验证?JQuery/Javascript
- 删除最近的下拉列表并验证Jquery中的下拉列表
- 验证jquery函数的问题
- 电子邮件验证Jquery不起作用
- 如何验证jquery函数中的输入字段
- 表单验证——jQuery验证是否足够,以及如何在PHP中巧妙地验证数据
- 当其他浏览器验证时,是什么导致I.E.不验证(jquery) ?
- 提交表单与ajax验证jquery /标准javascript
- 如何验证jquery中的表单
- 尝试验证jQuery UI日期选择器