I have a form with two text input fields, and I have included jQuery validation rules for both:
<script src="../../Scripts/jquery-validate/jquery.validate.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function() { $('#respondForm').validate({ onclick: false, onkeyup: false, onfocusout: false, highlight: function(element, errorClass) { $(element).css({ backgroundColor: 'Red' }); }, errorLabelContainer: $("ul", $('div.error-container')), wrapper: 'li', rules: { 'text': { required: true, minlength: 5, maxlength: 10 }, integer: { required: true, range: [0, 90] } }, messages: { 'text': { required: "xxx_Required", minlength: "XXX Should be greater than 5", maxlength: "XXX Cannot be greater than 10" }, integer: { required: "is required", range: "is out of range: [0,90]" } } }); }); </script> </head> . . . <input type="text" id="text" name="text" /> <br /> <input type="text" id="integer" name="integer" /> <br /> <input type="submit" name="submit" value="Submit" /> <br />
I used:
function(element, errorClass) { $(element).css({ backgroundColor: 'Red' }); }
to highlight the error control. Now the problem is that in the following scenario, both input text fields remain highlighted (background color: red):
- Enter text with text less than 5 characters in text box 1
- Leave text box 2 blank
- Hit send
- Both background text input will be changed to red (this is true)
- Now enter the text with 6 characters in the text box 1 (actual input)
- Leave text box 2 blank
- Hit send
- The background color for both text fields remains red. Where as an expectation is that the background color of text box 1 should not be red.
How to solve this problem?
source share