jQuery技术:为什么jQuery Validate“remote:”validation需要一个函数来设置数据值?

在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(); } 

    作为值,当调用remotevalidation器并进行AJAX调用时,当jQuery.paramdata属性展平为字符串时,将评估此函数。

    请注意,此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

      (0)
      上一篇 2021年12月13日
      下一篇 2021年12月13日

      精彩推荐