21

Using JQuery Validation plugin, I am trying to call the .valid() method without the side-effects of displaying error messages on screen. I have tried a number of scenarios with no success, my latest being:

$('#signup').validate({
            showErrors: function() { return; },
            errorElement: "",
            errorClass: "",
            errorPlacement: function() { },
            invalidHandler: function() { },
            highlight: function(element, errorClass) { },
            unhighlight: function(element, errorClass) { }
        });

$('#displayPurposes').text("Valid: " + $("#EMailAddress_EmailAddress").valid());

Whilst the .valid() call is working correctly it is still causing side-effects of displaying error messages.

I don't want this to happen, help please.

Sparky
  • 98,165
  • 25
  • 199
  • 285
soul
  • 315
  • 2
  • 3
  • 9

2 Answers2

73

You can do this without using CSS hacks by calling checkForm().

var isValid = $('#signup').validate().checkForm(); // true|false

checkForm() does not trigger UI changes.

However, there is one side effect. Form fields will now be validated on change/focus/blur, which may be undesirable. You can disable this behavior by resetting the submitted object:

$('#signup').validate().submitted = {};

Which results in:

var validate = $('#signup').validate(); // Get validate instance
var isValid = validate.checkForm(); // Valid?
validate.submitted = {}; // Reset immediate form field checking mode
Blaise
  • 13,139
  • 9
  • 69
  • 97
-6

Well instead of trying to disable any error placement made by the plugin you could use CSS to 'force' hiding the create error messages elements. Something like:

label.myvalidationclass { display: none !important; }

Where myvalidationclass is either the default error class name or your own.

I'm aware it is not a very nice solution but in my opinion, displaying error messages is one of the core feature of the plugin.

d.

Didier Ghys
  • 30,396
  • 9
  • 75
  • 81
  • Apologies for the very late acceptance, but if I recall I did end up with something similar to hacking the css. – soul Oct 22 '12 at 14:51