ASP.NET 코어 MVC 사용 클라이언트 측 유효성 검사를 렌더링하기 위해 부트 스트랩 양식 그룹 및 양식 컨트롤과 주석이있는 모델을 사용하려고합니다. 그것은 작동하지 않습니다. 그러나 Editor-For를 사용하면 유효성 검사가 올바르게 작동합니다. 내 스크립트를 들어 내가 사용하고 있습니다 :data-val 및 data-val-required가 클라이언트 측에서 생성되지 않습니다.
내 모델이public class LoginViewModel
{
[Required]
public string Username { get; set; }
[Required]
public string Password { get; set; }
[Required]
public string Mystring { get; set; }
}
내보기처럼 보이는
"jquery": "~3.1.1",
"jquery-validation": "~1.15.1",
"jquery-validation-unobtrusive": "~3.2.6"
보이는 등 : 가져 오기 소스에
@model PrioritizedListUI.Models.LoginViewModel
@{
ViewBag.Title = "Log in";
}
<div class="row">
<div class="col-md-6 col-md-offset-3">
<h3>Login</h3>
<form method="post" novalidate>
<div asp-validation-summary=""></div>
<div class="form-group">
<label asp-for="Username"></label>
<input asp-for="Username" class="form-control" />
<span asp-validation-for="Username"></span>
</div>
<div class="form-group">
<label asp-for="Password"></label>
<input type="password" asp-for="Password" class="form-control" />
<span asp-validation-for="Password"></span>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Mystring, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Mystring, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Mystring, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<input type="submit" value="login" class="btn btn-success" />
</div>
</form>
</div>
</div>
페이지의 내용은 다음과 같습니다.
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Log in</title>
<link rel="stylesheet" href="/lib/bootstrap/dist/css/bootstrap.min.css" />
</head>
<body>
<h3>Title</h3>
<div class="navbar navbar-inverse 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>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="/">Home</a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Search<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li><a href="/SearchLine">Lines</a>
</li>
<li><a href="/SearchGuidelineNotes">Guideline Notes</a>
</li>
</ul>
</li>
<li><a href="/ListVersion">Admin</a>
</li>
<li><a href="/Home/About">About</a>
</li>
<li><a href="/Home/Contact">Contact</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container body-content">
<section class="content-wrapper main-content clear-fix">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<h3>Login</h3>
<form method="post" novalidate>
<div asp-validation-summary=""></div>
<div class="form-group">
<label asp-for="Username"></label>
<input asp-for="Username" class="form-control" />
<span asp-validation-for="Username"></span>
</div>
<div class="form-group">
<label asp-for="Password"></label>
<input type="password" asp-for="Password" class="form-control" />
<span asp-validation-for="Password"></span>
</div>
<div class="form-group">
<label class="control-label col-md-2" for="Mystring">Mystring</label>
<div class="col-md-10">
<input class="form-control text-box single-line" data-val="true" data-val-required="The Mystring field is required." id="Mystring" name="Mystring" type="text" value="" />
<span class="field-validation-valid text-danger" data-valmsg-for="Mystring" data-valmsg-replace="true"></span>
</div>
</div>
<div class="form-group">
<input type="submit" value="login" class="btn btn-success" />
</div>
</form>
</div>
</div>
</section>
<hr />
<footer>
<p>© 2017 - Alderglen</p>
</footer>
</div>
<script type="text/javascript" src="/lib/jquery/dist/jquery.min.js"></script>
<script type="text/javascript" src="/lib/jquery-validation/dist/jquery.validate.min.js"></script>
<script type="text/javascript" src="/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>
</body>
</html>
나는 내 머리를 건 드리는되었지만 내가 놓친 게 무엇인지 알아낼 수 없습니다. 어떤 도움을 주시면 감사하겠습니다.
MVC6이라는 용어를 사용하지 마십시오. 더 이상 MVC6이 없습니다. 단지 ASP.NET Core MVC (1.0 & 1.1) – Tseng