2017-01-14 9 views
0

ASP.NET Core 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>&copy; 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>

私は私の脳をラッキングされていますが、私は私が行方不明です何を把握することはできません。どんな助けもありがとう。

+0

MVC6という用語を使用しないでください。もうMVC6はありません。ASP.NET Core MVC(1.0&1.1) – Tseng

答えて

0

_ViewImports.cshtmlにタグヘルパーを追加しましたか?そうでない場合は、ビューフォルダの下に剃刀HTMLファイルを作成し、_ViewImports.cshtmlという名前を付けます。そして次のコードを追加します。

@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 
@addTagHelper "*, <YOUR_WEB_APP_NAME>" 

もう一度お試しください。

+0

それだけでした。どうもありがとうございます! – user7380985

+0

@ user7380985答えとしてマークしてください。 – Anuraj

関連する問題