Struts2 JQuery AJAX и клиентская проверка не работает вместе
Я использовал стандартный фрагмент кода изhttp://struts.jgeppert.com/struts2-jquery-showcase/index.action а такжеhttp://code.google.com/p/struts2-jquery/wiki/Validation.
Но проверки на стороне клиента и на стороне сервера ajax не работают вместе.
Проблема в том, что отправка формы не останавливается, и действие вызывается, даже если мыpreventDefault
или сделать что-нибудь еще.
Submit form bellow.
AJAX Form with Validation
User: <span id="loginuserError"></span>
Password: <span id="loginpasswordError"></span>
function customeValidation(form, errors) {
//List for errors
// alert("in js");
var list = $('#formerrors');
//Handle non field errors
if (errors.errors) {
$.each(errors.errors, function(index, value) {
list.append(''+value+'\n');
});
}
//Handle field errors
if (errors.fieldErrors) {
$.each(errors.fieldErrors, function(index, value) {
var elem = $('#'+index);
if(elem)
{
alert(value[0]);
}
});
}
}
$.subscribe('before', function(event,data) {
var fData = event.originalEvent.formData;
alert('About to submit: \n\n' + fData[0].value + ' to target '+event.originalEvent.options.target+' with timeout '+event.originalEvent.options.timeout );
var form = event.originalEvent.form[0];
if (form.name.value.length < 2) {
alert('Please enter a value with min 2 characters');
**// the event does not stop here if we use ajax validation i.e validate = true, if we remove it then this works.**
event.originalEvent.options.submit = false;
}
});
event.originalEvenet.options.submit = false не останавливается здесь, если мы используем проверку ajax, т.е. validate = true в кнопке отправки, если мы удаляем ее, это работает. **