views:

5150

answers:

3

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... ??

+2  A: 

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

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

J Cooper
A: 

What is the code you are working with? It sounds like you have all the guts there and you just need the styling to make it display your errors on validation?

Let me know.

Ryan

Coughlin
+6  A: 

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
For the jQuery bit: should use insertBefore() instead of before(). Thanks!
neezer