J'ai un formulaire avec deux zones de texte entrée, et j'ai inclus des règles de validation jQuery pour les deux:plug-in validation JQuery - point fort d'erreur problème
<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 />
J'ai utilisé:
function(element, errorClass) {
$(element).css({ backgroundColor: 'Red' });
}
pour mettre en évidence la contrôle d'erreur. Maintenant, le problème est que dans le scénario suivant, les deux zones de texte d'entrée restent en surbrillance (couleur de fond: rouge):
- texte Entrée avec moins de 5 caractères dans la boîte de texte 1
- zone de texte Laisser 2 blanc
- cliquez sur envoyer
- deux arrière-plan de zone de texte d'entrée sera changée en rouge (ce qui est correct)
- entrez maintenant un texte qui a 6 caractères zone de texte 1 (entrée valide)
- congé de zone de texte 2 vide
- Appuyez sur Envoyer
- La couleur d'arrière-plan des deux zones de texte reste rouge. Où comme l'attente est que la couleur de fond de la zone de texte 1 ne devrait pas être rouge
Comment puis-je résoudre ce problème?
Oui, cette réponse était assez proche, mais je ne pouvais le faire en fournissant la propriété pas surligner – Ngm