2016-04-30 56 views
0

這裏是我的代碼我已經嘗試過每一件事,但我不知道爲什麼客戶端JavaScript驗證不工作。請幫助。在asp.net mvc javascript驗證不工作登錄窗體

我已經啓用鑑於web.config中的JavaScript和主要的web.config

<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

@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>