views:

354

answers:

2

I have the same scenario as this question, but with a different problem:

http://stackoverflow.com/questions/298691/asp-net-mvc-ajax-form-with-jquery-validation

I've set the AjaxOptions.OnBegin property to call return $('form').validate().form(); which works fine for when validation fails; the validation messages are displayed and the form is not posted. However, since setting AjaxOptions.OnBegin, I now get a full page refresh rather than an Ajax call when there are no validation errors. It only happens if AjaxOptions.OnBegin is set. Any ideas?

A: 

Maybe when AjaxOptions.OnBegin returns true, it exits the Ajax call.

Try setting AjaxOptions.OnBegin to something like

if(!$('form').validate().form()) {
  return false;
}

Only return false. If its valid, it just continues.

mr.moses
Yeah i'd already tried that, didn't work :(
Charlie
+1  A: 

I've fixed my problem. I was setting the value of OnBegin to return $("#form").validate().form() which was never going to work because it's expecting a function name, so I created a function:

function validateForm(){
   return $("#form").validate().form();
}

and set the OnBegin property to validateForm.

Charlie