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",
它仍然有效...
Reviewing the documentation,jQuery.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()
多年来我一直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",
它仍然有效...
Reviewing the documentation,jQuery.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()