我的大部分问题都出在这个问题https://stackoverflow.com/questions/34846925/jquery-validate-rails-4-dynamically-update-rule-after-rendering-partial-via-a
中我还没有得到任何反馈意见。我明白这可能很难理解。基本上我需要在提交之前根据html数据属性更改规则的参数。我想知道是否有办法做到这一点。
我尝试在submitHandler中添加规则:
$('#custom-tag').validate({
onfocusout: false,
submitHandler: function(form) {
$('#custom-tag').rules("add", {
tagUniqueness: $('#taglist').data('tag-list').split(', ')
});
},
rules: {
tag: {
minLengthSquish: 2,
maxLengthSquish: 25,
alphanumericAndWhitespace: true
}
},
tooltip_options: {
tag: { placement: 'right', animation: false }
}
});
但是这没有用,我现在意识到submitHandler是在提交有效时运行的代码(可能应该被称为validSubmissionHandler)。
我还假设添加一个已存在的同名规则将覆盖当前规则和参数。如果不是,我只需删除然后添加。
有没有办法在提交之前添加规则?
答案 0 :(得分:-1)
您似乎应该移出提交处理程序或验证处理程序。 IE,像这样:
$('form').submit(function(event) {
$('#custom-tag').rules("add", {
tagUniqueness: $('#taglist').data('tag-list').split(', ')
});
if ($('#custom-tag').valid() === false) {
// 'this' is the form,
event.preventDefault();
// stop the submittion
// ...message the user to let them know why the submit failed.
}
});