在jQuery Validate文档中,它显示了使用远程validation调用将其他值传递给服务器端validation脚本/资源的示例:
https://docs.jquery.com/Plugins/Validation/Methods/remote#code
这是示例代码:
$("#myform").validate({ rules: { email: { required: true, email: true, remote: { url: "check-email.php", type: "post", data: { username: function() { return $("#username").val(); } } } } } });
为什么我需要使用函数来设置username
数据参数?:
username: function() { return $("#username").val(); }
而不仅仅是:
username: $("#username").val()
我已经尝试了两种方法,果然第二种方法没有分配username:
一个值。
我确实在remote
方法函数的jQuery Validate代码中设置了一个断点:
remote: function(value, element, param) { ... }
尝试了解这里发生的事情,但我真的不是明智的。
jQuery.fn.validate(config)
用于设置validation规则,而不是实际执行validation。 整个{rules: /* */ }
对象在发生这种情况时都会被准确评估。
如果你包括
$('#username').val()
在rules对象中,将立即计算该表达式,并保存该时刻的元素值。
如果你改为通过
function() { return $('#username').val(); }
作为值,当调用remote
validation器并进行AJAX调用时,当jQuery.param
将data
属性展平为字符串时,将评估此函数。
请注意,此validation器将其整个配置对象合并到它所进行的每个AJAX调用中,因此可以通过这种方式设置普通ajax设置对象中可接受的所有其他选项,而不仅仅是data
。
需要了解更多jQuery教程分享为什么jQuery Validate“remote:”validation需要一个函数来设置数据值?,都可以关注jQuery技术分享栏目—计算机技术网(www.ctvol.com)!
以上就是jQuery教程分享为什么jQuery Validate“remote:”validation需要一个函数来设置数据值?相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/982085.html