11

I want my errors to float above, left-justified, the input field that doesn't validate. How can I do this?

If I can't, how can I turn the errors off? I still want the fields to validate (and highlight on error), but not for the actual error messages to display. I couldn't seem to find anything in the jQuery docs that would let me turn them on/off... ??

neezer
  • 19,720
  • 33
  • 121
  • 220

2 Answers2

14

Use the errorPlacement property for your jQuery validation call, as J Cooper suggested:

$(...).validate({
    errorPlacement: function(error, element) {
        error.insertBefore(element);
    }
});

And CSS to style the error (in your stylesheet, or to the individual elements):

label.error {
    /* Move the error above the input element. */
    position: absolute;
    line-height: 1.5em;
    margin-top: -1.5em;

    background-color: red;
    color: white;
    padding: 0 2px;
}
strager
  • 88,763
  • 26
  • 134
  • 176
11

You want the errorPlacement option, and perhaps errorContainer and errorElement for further customization.

See http://docs.jquery.com/Plugins/Validation/validate#toptions

J Cooper
  • 16,891
  • 12
  • 65
  • 110