我想将动态规则设置为一组元素(具有class = website的多个输入),并使用远程验证来检查输入的url的有效性。 问题是我几乎无法设置包含输入值的动态错误消息,其中包含测试URL的链接,如下所示:
"网站不存在:使用链接"输入网址。
我找到的唯一方法是使远程方法设置消息并以JSON格式返回,然后在dataFilter中设置输入标题。但问题是我将html标签放在HTML属性(标题)中。这有效,但不是很正确。 请注意,如果我在message属性构造函数中使用变量,则返回的值是DOM完成后的值,而不是输入的值(请参阅注释)
$.each($(".website"),
function() {
var elementId = $(this).attr('id');
$(this).rules("add",{
remote :
{
url: 'check-url.php',
type: "post",
data:
{
prefix: function() {
return $("#"+ elementId).prev().val();
}
},
dataFilter: function (data) {
var json = JSON.parse(data);
$("#"+elementId).attr('title',json.error);
return json.msg;
},// message not OK (value on DOM complete)
messages : 'The web site doesnt exist : ' + $("#"+ elementId).prev().val()
}
});
}
);
谢谢
答案 0 :(得分:0)
尝试
$(".website").each(function () {
var $el = $(this);
$el.rules("add", {
remote: {
url: 'check-url.php',
type: "post",
data: {
prefix: function () {
return $el.prev().val();
}
}
},
messages: {
remote: function () {
return 'The web site doesnt exist : ' + $el.prev().val();
}
}
});
});