Reputation: 533
Using Bootstrap 3 with a form-horizontal using form-group and input-group tags with Jquery-Validate. When Jquery.Validate runs for errors, it appends a label error control within the input-group.
The issue is that input-group-addon wraps to the next line underneath the form field when the label error control is added by Jquery Validate.
VIEW: http://www.bootply.com/114554
How do I get the label error to stay under the form control and not wrap the input-group-addon to the next line?
Yes, I am aware of this solution - works great, but still doesn't line up the error label for form-horizontal: Bootstrap 3 with jQuery Validation Plugin
Upvotes: 25
Views: 19342
Reputation: 3615
Inserting issue with input-group
, try the css fix or below code.
$('.your-form').validate({
errorPlacement: function ( error, element ) {
if(element.parent().hasClass('input-group')){
error.insertAfter( element.parent() );
}else{
error.insertAfter( element );
}
}
});
Upvotes: 0
Reputation: 59
The simplest way to solve your problem should be to put your error label with absolute position property in css. In your example here's the result :
.text-danger {
color: #a94442;
position: absolute;
width: 100%;
top: 34px;
line-height: 34px;
left: 0px;
}
Upvotes: 5
Reputation: 980
I give a solution to this question for another user, its the same problem.
You can find it here. Bootstrap-3: Input Group-Addon STRETCHES with jQuery Validation messages.
Upvotes: 2
Reputation: 533
Solved it another way: http://www.bootply.com/2liEuyqrAb
Had to move the label outside of the input-group. Once doing that, did the expected behavior: form label to left, field to right, and error below field.
Upvotes: 6