asp.net mvc中的javascript验证不适用于登录表单

javascript validation in asp.net mvc not working for login form

本文关键字:不适用 适用于 登录 表单 验证 javascript net mvc 中的 asp      更新时间:2023-09-26

这是我的代码,我已经尝试了每一种方法,但我不知道为什么客户端javascript验证不起作用。请帮忙。

我已经在视图web.config和主web.config 中启用了javascript

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

型号类别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; }
    }
}

我正在使用我的视图的布局页面,其中我提到了必要的脚本文件_登录布局.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>

这是我的观点索引.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>

检查脚本的来源是否正常

>

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