0
我動態地添加規則到jQuery驗證窗體。該規則是動態添加的,因爲字段名稱包含一個變量。這是代碼。jQuery驗證自定義動作添加規則
$('#message_' + default_language_id + '_0').rules('add', {
required: true,
messages: {
required: "something is wrong."
}
});
我希望這個規則在窗體驗證時使用匿名函數執行動作。但是,如果沒有在文檔準備好的情況下執行該功能,我無法找到一個選項/方法來完成此操作。
下面是一個擴展的代碼片段把它在更多的上下文:
$(document).ready(function(){
var default_language_id = $("#default_language_id").val();
var validator = $("#message_form").submit(function() {
tinyMCE.triggerSave();
}).validate({
ignore: "",
rules: {
publish_date: {
check_publish_date: true,
check_expiry_date: true
},
expiry_date: {
check_expiry: true,
}
},
errorElement: "span",
errorClass: "help-block",
highlight: function (element, errorClass, validClass) {
$(element).closest('.form-group').addClass('has-error');
},
unhighlight: function (element, errorClass, validClass) {
$(element).closest('.form-group').removeClass('has-error');
},
errorPlacement: function (error, element) {
if (element.parent('.input-group').length || element.prop('type') === 'checkbox' || element.prop('type') === 'radio') {
error.insertAfter(element.parent());
} else {
error.insertAfter(element);
}
}
});
$('#message_' + default_language_id + '_0').rules('add', {
required: true,
messages: {
required: "something is wrong"
},
});
所以,我想結束了是這樣的(這不起作用):
$('#message_' + default_language_id + '_0').rules('add', {
required: true,
messages: {
required: "something is wrong."
},
onsubmit: function(){
alert("I am only triggered when the form errors on this rule");
}
});
任何人都可以幫忙嗎?提前致謝。
你絕對應該** **不具備'.validate()''一個處理submit'裏面方法。此方法僅用於DOM準備**初始化**插件和「點擊/提交」事件然後自動處理。 – Sparky