我正在使用ajaxform jQuery插件用于创建ajaxed HTML表单并希望使用jQuery实现验证Validation插件。在jQuery验证中使用ajaxform的最佳方法是什么?
我不知道什么是最好的方式来实现这一点。
它对我来说不起作用。我使用form.ajaxform({})
设置了表单,然后使用form.validate({})
设置了验证。 invalidHandler事件触发验证插件,但ajaxform仍提交表单。
如何正确连接两者?
我的代码:
_initializeValidation: function (form) {
var options = {
rules:
{
Name:
{
required: true
}
},
messages:
{
Name: "Name is required",
ShortName: "Short name is required"
}
};
if (form.find("#ShortName").length == 1)
$.extend(options.rules, { ShortName: { required: true} });
form.validate(options);
}
/*
* Initializes a newly loaded edit form
*/
_initializeEdit: function (panel) {
var thisDetailTab = this;
var form = panel.find("form");
form.ajaxForm(
{
target: panel,
url: this._config.updateUrl,
beforeSubmit: function (arr, $form, options) {
return form.valid();
},
success: function (responseText, statusText, xhr, form) {
thisDetailTab._initializeDetails(panel);
thisDetailTab._config.refreshSummary();
}
}
);
this._initializeValidation(form);
var cancelButton = panel.find(".cancelButton");
cancelButton.click(function (event) {
$.ajax(
{
url: thisDetailTab._config.detailsUrl,
success: function (data) {
panel.empty();
panel.append(data);
thisDetailTab._initializeDetails(panel);
}
}
);
});
}
你能否粘贴一些关于你如何使用ajaxform的代码?我有验证插件的经验,但没有使用ajaxform :( – 2010-09-08 00:41:09
我现在在beforeSubmit事件中添加了'valid()'调用,它似乎按照我的要求做,而且非常简单。这种方法是否正确?有什么缺陷吗?是否有更好的方法存在? – GiddyUpHorsey 2010-09-08 01:15:39