Я пытаюсь узнать, как настроить проверку на стороне клиента в MVC, и ничто из того, что я делаю или могу сделать, не может заставить это работать. Пожалуйста помоги. Вот мой валидатор. js
/// <reference path="jquery.validate.js" />
/// <reference path="jquery.validate.unobtrusive.js" />
$.validator.unobtrusive.parse($('form'));
$.validator.unobtrusive.parse('password');
$.validator.unobtrusive.adapters.addSingleVal("password", "badpasswords");//, "errormsg");
//$.validator.unobtrusive.adapters.add("password", function (options) {
// options.rules["password"] = "#" + options.element.name.replace('.', '_'); // mvc html helpers
// options.messages["password"] = options.message;
//});
$.validator.addMethod("password", function (value, badpasswords) {
if (value) {
return //!badpasswords.split(",").Contains(value.ToString());
false;
}
return false;
},"validator_default");
$.validator.unobtrusive.adapters.addBool("password");
$("#_form").validate({
onkeyup: false,
onfocusout: false
});
}
Вот что делает:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> - My ASP.NET Application</title>
<link href="/Content/font-awesome.min.css" rel="stylesheet"/>
<link href="/Content/bootstrap.css" rel="stylesheet"/>
<link href="/Content/site.css" rel="stylesheet"/>
<script src="/Scripts/modernizr-2.8.3.js"></script>
<script src="/Scripts/jquery.validate.min.js"></script>
<script src="/Scripts/jquery-3.3.1.js"></script>
<script src="/Scripts/jquery-3.3.1.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="/Scripts/ClientPasswordValidator.js"></script>
<link rel="icon" href="/Content/images/icons/32x32.png" sizes="32x32">
<link rel="icon" href="/Content/images/icons/192x192.png" sizes="192x192">
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a href='/' class="navbar-brand">
<div class="hplus-logo"></div>
</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="/Product">Our Products</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href='/Cart'><i class="fa fa-shopping-cart"></i> Cart</a></li>
</ul>
</div>
</div>
</div>
<div class="container body-content">
<script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-3.3.1.min.js" type="text/javascript"></script>
<script>$.validator.unobtrusive.parse($('form'));
$('#divParent').load("url",
function () {
$.validator.unobtrusive.parse($('form'));}
);
</script>
<script src="/Scripts/jquery.validate-vsdoc.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.min.js"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js"></script>
<script src="/Scripts/ClientPasswordValidator.js"></script>
<div class="container">
<form action="/Login?ReturnUrl=%2Faccount" class="form-signin" method="post"><span class="field-validation-valid text-danger" data-valmsg-for="Username" data-valmsg-replace="true"></span><span class="field-validation-valid text-danger" data-valmsg-for="Password" data-valmsg-replace="true"></span> <div class="form-group">
<span asp-validation-for="Email address" class="text-danger"></span>
<span asp-validation-for="password" class="text-danger"></span>
</div>
<h2 class="form-signin-heading">Please sign in</h2>
<label class="control-label" for="Username">Email address</label><input autofocus="" class="form-control" data-val="true" data-val-email="The Username field is not a valid e-mail address." data-val-required="The Username field is required." id="Username" name="Username" placeholder="Email address" type="text" value="" /> <span asp-validation-for="Email address" class="text-danger"></span>
<span class="field-validation-valid text-danger" data-valmsg-for="Username" data-valmsg-replace="true"></span><label class="control-label" for="Password">Password</label><input autofocus="" class="form-control" data-val="true" data-val-minlength="The field Password must be a string or array type with a minimum length of '5'." data-val-minlength-min="5" data-val-password="default_local" data-val-password-badpasswords="12345,qwerty,11111,22222,33333" data-val-required="The Password field is required." id="Password" name="Password" placeholder="Password" type="text" value="" /> <span asp-validation-for="password" class="text-danger"></span>
<span class="field-validation-valid text-danger" data-valmsg-for="Password" data-valmsg-replace="true"></span> <div class="checkbox">
<label>
<input type="checkbox" value="remember-me"> Remember me
</label>
</div>
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
</form> </div>
<hr />
<footer>
<p>© H+ Sport 2020 | <a href="https://twitter.com/hplussport" target="_blank">@HPlusSport</a></p>
</footer>
</div>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="/Scripts/jquery.validate.min.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js"></script>
<script src="/Scripts/bootstrap.js"></script>
</body>
</html>
Спасибо за вашу помощь. Мне нужно добавить больше деталей, прежде чем сайт разрешит мне опубликовать это, так что вот что я пробовал до сих пор: я много играл с порядком файлов jquery и связанных js. Я думаю, что у меня есть право заказа на основе общего консенсуса. У меня было несколько файлов "Microsoft .." js, но я их вынул, поскольку они не упоминались в inte rnet как возможные решения. Спасибо еще раз.