jQuery 插件更新后验证错误 "jquery.format is not a function"

jQuery validate error "jquery.format is not a function" after plugin update

多年来我一直jQuery.validate成功使用 1.9.0 版本
现在,使用 v 1.19.2 我得到“jquery.format 不是函数”。
在我的头部分:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.2/jquery.validate.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.2/additional-methods.min.js" ></script>    

html 表单输入

<div class="divTableCell L3"><input name="email" type="text" class="required" id="email" /></div>

底部:

<script>
    formVerif();
</script>

这是部分使用的函数:

function formVerif(){   
    $(document).ready(function(){
        $("#formulario").validate({
          errorClass: 'rojo' ,
          messages: {
               nombre: {
                 required: "<br />Falta ingresar un nombre.",
                 minlength: jQuery.format("<br />Ingresa al menos {0} caracteres"),
                 maxlength: jQuery.format("<br />Ingresa como máximo {0} caracteres"),
                 alphanumeric: "<br />Ingresa solo letras y espacios"
                 },
               apellido: {
               ...
               ...

如果我返回到 V 1.9.0,则不会显示任何错误:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="JS/jquery.validate.min.js"></script>
<script src="JS/additional-methods.min.js"></script>

您的代码...

minlength: jQuery.format("<br />Ingresa al menos {0} caracteres"),

没有jQuery.format这样的东西,所以只需删除并使用这个...

minlength: "<br />Ingresa al menos {0} caracteres",

它仍然有效...

演示: jsfiddle.net/w09fqj3n/

Reviewing the documentationjQuery.format应该是jQuery.validator.format,但显然是可选的。


此外,将 DOM 就绪事件处理程序放在您在页面底部调用的函数中没有意义...

function formVerif(){   
    $(document).ready(function(){ ....

the ready event handler 的主要目的是“指定一个函数在 DOM 完全加载时执行。” 从一个函数调用它页面底部使它的使用完全没有意义。如果您希望将加载脚本推迟到最后,只需将就绪处理程序放在底部即可。

 jQuery.validator.addMethod("extension", function(value, element, param) {
                            param = typeof param === "string" ? param.replace(/,/g, '|') : "png|jpe?g|gif";
                            return this.optional(element) || value.match(new RegExp(".(" + param + ")$", "i"));
                        },  jQuery.format("Please enter a value with a valid extension."));

删除jQuery.format()