如何更新 jQuery 动态验证消息
How to update jQuery Validate message dynamically
$("#frmNewContracts").validate({
errorClass : "state-error",
validClass : "state-success",
errorElement : "span",
rules: {
txtusername : { required : true,
rangelength : [5, 18],
remote : { url : "./_aQ8/auxphp/ajxcontrol.php", type : "get" }
}
},
messages: {
txtusername : { required : "User-name is required",
rangelength : "User-name must be between 5 - 18 characters",
remote : $.validator.format("User-name : <strong>{0}</strong> is already taken please try another")
}
},
errorLabelContainer: "#joinerrgroup",
wrapper: "li"
});
你好,
正如问题所暗示的那样,我有一个使用 jQ Validate 插件进行验证的表单,上面提供的代码是我隔离并单独尝试使用 html 表单的片段,问题是相同的。
问题是:当用户名已经存在于数据库中时,用户名应该动态更新(或者我认为)以显示用户输入的用户名 table - 一切正常,但在测试和尝试多次重复时用户名,故意检查功能,消息显示正确,但用户名继续显示输入的第一个重复用户名。它不会更新以显示当前在用户名表单字段中的重复名称。这是正常行为吗我需要做其他事情吗??
可以通过jQuery获取用户名,然后在格式化方法中使用。
remote: function() {
return jQuery.format("User-name : <strong>{0}</strong> is already taken please try another", $("#username").val());
}
您不需要 remote
的 messages
选项。
根据文档,如果您从服务器端代码回显或发送 JSON 编码字符串,验证将失败并且该字符串成为验证消息。
我 运行 遇到了这个错误,接受的答案只像 Flim Flam 在评论中指出的那样有效了两次。对我来说,解决方法是向 returns 字符串的函数添加一个参数(我称之为 "element")。
例如:
remote: function(element) {
return jQuery.format("User-name : <strong>{0}</strong> is already taken please try another", $("#username").val());
}
$("#frmNewContracts").validate({
errorClass : "state-error",
validClass : "state-success",
errorElement : "span",
rules: {
txtusername : { required : true,
rangelength : [5, 18],
remote : { url : "./_aQ8/auxphp/ajxcontrol.php", type : "get" }
}
},
messages: {
txtusername : { required : "User-name is required",
rangelength : "User-name must be between 5 - 18 characters",
remote : $.validator.format("User-name : <strong>{0}</strong> is already taken please try another")
}
},
errorLabelContainer: "#joinerrgroup",
wrapper: "li"
});
你好, 正如问题所暗示的那样,我有一个使用 jQ Validate 插件进行验证的表单,上面提供的代码是我隔离并单独尝试使用 html 表单的片段,问题是相同的。
问题是:当用户名已经存在于数据库中时,用户名应该动态更新(或者我认为)以显示用户输入的用户名 table - 一切正常,但在测试和尝试多次重复时用户名,故意检查功能,消息显示正确,但用户名继续显示输入的第一个重复用户名。它不会更新以显示当前在用户名表单字段中的重复名称。这是正常行为吗我需要做其他事情吗??
可以通过jQuery获取用户名,然后在格式化方法中使用。
remote: function() {
return jQuery.format("User-name : <strong>{0}</strong> is already taken please try another", $("#username").val());
}
您不需要 remote
的 messages
选项。
根据文档,如果您从服务器端代码回显或发送 JSON 编码字符串,验证将失败并且该字符串成为验证消息。
我 运行 遇到了这个错误,接受的答案只像 Flim Flam 在评论中指出的那样有效了两次。对我来说,解决方法是向 returns 字符串的函数添加一个参数(我称之为 "element")。
例如:
remote: function(element) {
return jQuery.format("User-name : <strong>{0}</strong> is already taken please try another", $("#username").val());
}