2016-04-30 9 views
0

ここに私のコードがありますが、私はすべてを試しましたが、なぜクライアント側のjavascriptバリデーションが動作していないのか分かりません。私は言及を持っている私は、ビューweb.configファイル内のJavaScriptとメインweb.configファイルasp.netのjavascriptのバリデーションmvcがログインフォームで動作しない

<appSettings> 
    <add key="webpages:Enabled" value="false" /> 
    <add key="ClientValidationEnabled" value="true" /> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true" /> 

    </appSettings> 

Modelクラス tblUser.cs

namespace MvcWebApplication.Models 
{ 
    using System; 
    using System.Collections.Generic; 
    using System.ComponentModel.DataAnnotations; 

    public partial class tblUser 
    { 

     public int Id { get; set; } 

     [Required(ErrorMessage="Please Enter Your Email Id")] 
     [EmailAddress(ErrorMessage="Invalid Email Address")] 
     public string Email { get; set; } 

     [Required(ErrorMessage="Please Enter Your Password")] 
     [DataType(DataType.Password)] 
     [StringLength(18,ErrorMessage="The password must be atleast 6 characters long",MinimumLength=6)] 
     public string Password { get; set; } 
    } 
} 

私は私のビューのレイアウト・ページを使用していますが有効になっている

必要なスクリプトファイル _LoginLayout.cshtml

@{ 
    Layout = null; 
} 

<!DOCTYPE html> 

<html> 
<head> 
    <meta name="viewport" content="width=device-width" /> 
    <script src="~/Scripts/jquery-1.9.1.js"></script> 

    <script src="~/Scripts/jquery.validate.js"></script> 
    <script src="~/Scripts/jquery.validate.unobtrusive.js"></script> 
    <script src="~/Scripts/bootstrap.min.js"></script> 
    <link href="~/Content/bootstrap.min.css" rel="stylesheet" /> 
    <link href="~/Content/css/Login.css" rel="stylesheet" /> 
    <title></title> 
</head> 
<body> 
    <div> 
     @RenderBody(); 
    </div> 

</body> 
</html> 

そして、ここでは、私の見解である Index.cshtmlスクリプトのソースがOKであれば

@model MvcWebApplication.Models.tblUser 

@{ 
    ViewBag.Title = "Index"; 
    Layout = "~/Views/Shared/_LoginLayout.cshtml"; 
} 



<div class="container"> 
    <div class="row" id="formcenter"> 
     <div id="loginTitle"> 
      <h3>LOGIN</h3> 
     </div> 
     @using (Html.BeginForm("Index", "Home", FormMethod.Post)) 
     { 
      //To handle Cross-Site Request Forgery (CSRF) attcks. 
      @Html.AntiForgeryToken() 
      @Html.ValidationSummary(true) 

      <table class="center"> 
       <tr> 
        <td>@Html.LabelFor(user => user.Email)</td> 
        <td>@Html.TextBoxFor(user => user.Email)</td> 
        <td>@Html.ValidationMessageFor(user => user.Email)</td> 
       </tr> 
       <tr class="rowspace"> 
        <td>@Html.LabelFor(pass => pass.Password)</td> 
        <td>@Html.EditorFor(pass => pass.Password)</td> 
        <td>@Html.ValidationMessageFor(pass => pass.Password)</td> 
       </tr> 
       <tr class="rowspace"> 

        <td colspan="3" id="button"> 
         <input type="button" value="Log In" /></td> 

       </tr> 
      </table> 
     } 
    </div> 
</div> 
+1

フォームはステファン・ミュエッケありがとう –

+0

送信ボタンを持っていません。私の問題は解決されました。 –

答えて

-1

チェック

>

@{ 
    Layout = null; 
} 

<!DOCTYPE html> 

<html> 
<head> 
    <meta name="viewport" content="width=device-width" /> 
    <script src="~/Scripts/jquery-1.9.1.js"></script> 

    <script src="~/anything/Scripts/jquery.validate.js"></script> 
    <script src="~/anything/Scripts/jquery.validate.unobtrusive.js"></script> 
    <script src="~/anything/Scripts/bootstrap.min.js"></script> 
    <link href="~/Content/bootstrap.min.css" rel="stylesheet" /> 
    <link href="~/Content/css/Login.css" rel="stylesheet" /> 
    <title></title> 
</head> 
<body> 
    <div> 
     @RenderBody(); 
    </div> 

</body> 
</html> 
関連する問題