J'ai suivi les étapes sur Internet pour configurer la validation du mot de passe.La validation ASP MVC4 + JQuery ne fonctionne pas
J'utilise ASP.NET MVC4 + rasoir + jquery, mais la validation ne semble pas work.Here sont mes codes:
CSHTML:
@using (Html.BeginForm("Index","Home",FormMethod.Post,new { id="resetForm"}))
{
<ol class="round">
<li class="one">
<h5>Select the Application.</h5>
@model PWDManagementCenter.Models.UserApplicationModels
@Html.DropDownListFor(x => x.selectedUserApp, Model.userApps)
</li>
<li class="two">
<h5>Input Login ID of Application</h5>
<input name="txtLogonId" />
</li>
<li class="three">
<h5>Input the new password</h5>
<input id="txtPwd" name="txtPwd" type="password" />
<h6>Retype the password</h6>
<input id="txtPwd2" name="txtPwd2" type="password" /><p />
<input id="btnSubmit" type="submit" value="Save" />
</li>
</ol>
}
JS en html:
<script src="/Scripts/jquery-1.7.1.js" type="text/javascript" />
<script src="/Scripts/jquery.validate.js" type="text/javascript" />
<script type="text/javascript">
$(document).ready(function() {
$('#resetForm').validate({
rules: {
txtPwd: {
require: true, minlength: 6, maxlength: 20
},
txtPwd2: {
require: true, equalTo: '#txtPwd', minlength: 6, maxlegth: 20
}
},
messages: {
txtPwd: {
require: "Password is required!",
minlength: "Password contains at least 6 characters",
maxlength: "Password contains at most 20 characters"
},
txtPwd2: {
equalTo: "Make sure input the same password as above"
}
}
});
</script>
Et le contrôleur:
[HttpPost]
public ActionResult Index(UserApplicationModels model)
{
string appName = model.selectedUserApp;
string id = Request.Form["txtLogonId"];
string newPwd = Request.Form["txtPwd"];
string newPwd2 = Request.Form["txtPwd2"];
......
}
Lorsque je clique sur le bouton Soumettre en mode débogage, il accède à cette fonction Index sans validation.
Pourquoi? Quelque chose m'a manqué? S'il vous plaît aider.
-je suivre cette simple validation demo
Merci à tous ceux qui ont répondu à la question. Vous m'avez donné les coups pour résoudre le problème.
L'onglet script doit se terminer par "
</script>
" plutôt que "/>
" Donc, ce "<script src="/Scripts/jquery.validate.js" type="text/javascript" />
" ne peut pas travailler mais "<script src="/Scripts/jquery.validate.js" type="text/javascript" ></script>
" fonctionneAprès 1, je suis une exécution erreur, indiquant que "l'objet d'erreur d'exécution jscript ne prend pas en charge cette propriété ou cette méthode" Cela s'explique par le fait que nous incluons deux fois jquery.
Après 1,2, la validation est normale.
Avez-vous envisagé Unobtrusive Validation (http://bradwilson.typepad.com /blog/2010/10/mvc3-unobtrusive-validation.html)? Ne répond pas à votre question, mais rend la gestion de la validation des clients et des serveurs incroyablement facile. – HackedByChinese
Ce n'est pas ce que je veux. S'il vous plaît se référer à mon lien de démonstration. C'est simple et pur jquery.C'est ce que je veux – DerekY
Je comprends ce que vous voulez, juste un FYI. UV utilise jQuery et jQuery Validation, il augmente simplement la validation de jQuery pour que vous n'ayez pas à faire le wireup manuel avec lequel vous luttez actuellement. – HackedByChinese