【问题标题】:Client Side Validation not performing MVC 4客户端验证不执行 MVC 4
【发布时间】:2014-11-09 12:52:05
【问题描述】:

布局

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <!-- Apple devices fullscreen -->
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <!-- Apple devices fullscreen -->
    <meta names="apple-mobile-web-app-status-bar-style" content="black-translucent" />

    <title>New Indus Goods - Loagin</title>

    <link rel="stylesheet" type="text/css" href="@Url.Content("~/css/bootstrap.min.css")"/>
     <link rel="stylesheet" type="text/css" href="@Url.Content("~/css/plugins/icheck/all.css")"/>

    <link rel="stylesheet" type="text/css" href="@Url.Content("~/css/style.css")"/>

    <link rel="stylesheet" type="text/css" href="@Url.Content("~/css/themes.css")"/>
     <link href="@Url.Content("~/Styles/view_specific_style.css")" rel="stylesheet" type="text/css" />

   <script type="text/javascript" src="@Url.Content("~/js/jquery.min.js")"></script>


    <script type="text/javascript" src="@Url.Content("~/js/plugins/nicescroll/jquery.nicescroll.min.js")"></script>

    <script type="text/javascript" src="@Url.Content("~/js/plugins/validation/jquery.validate.min.js")"></script>
    <script type="text/javascript" src="@Url.Content("~/js/plugins/validation/additional-methods.min.js")"></script>

    <script type="text/javascript" src="@Url.Content("~/js/plugins/icheck/jquery.icheck.min.js")"></script>

    <script type="text/javascript" src="@Url.Content("~/js/bootstrap.min.js")"></script>
    <script type="text/javascript" src="@Url.Content("~/js/eakroko.js")"></script>

    <!--[if lte IE 9]>
        <script type="text/javascript" src="@Url.Content("~/js/plugins/placeholder/jquery.placeholder.min.js")"></script>
        <script>
            $(document).ready(function() {
                $('input, textarea').placeholder();
            });
        </script>
    <![endif]-->

    <!-- Favicon -->
    <link rel="shortcut icon" href="~/img/favicon.ico" />
    <!-- Apple devices Homescreen icon -->
    <link rel="apple-touch-icon-precomposed" href="~/img/apple-touch-icon-precomposed.png" />

</head>

<body class='login'>

    <div class="wrapper">
        <h1>
            <a href="index.html">
                <img src="@Url.Content("~/img/logo-big.png")" alt="" class='retina-ready' width="59" height="49">New Indus Goods</a>
        </h1>

        <div id="body" class="login-body">
        @RenderSection("featured",required:false)
            <section class="content-wrapper">
            @RenderBody()
            </section>


        </div>
    </div>

</body>

</html>

查看

@model Test1.Models.UserProfile

@{

      Layout = "~/Views/_LayoutPage1.cshtml";

    ViewBag.Title = "Index";
    Test1.Models.UserProfile lol = ViewBag.Profile;

}

@section featured
{
@using (Html.BeginForm("Index", "Input"))
{
@Html.ValidationSummary(true)
<fieldset>
<div class="content-wrapper">

    <div class="form-group">
                    <div class="email controls">
                       @Html.EditorFor(model => model.Name, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Name)
                    </div>
                </div>
</div>



<p>lol what is is</p>
</fieldset>
  <p>

            <input type="submit" value="Save" />

        </p>

}
}
<div>
@Html.ActionLink("Back To Index", "Index");
</div>

执行了服务器端验证,但客户端没有发生!请告诉我我在这里错过了什么?我曾尝试在 Google 上找到解决方案,但失败了。我是 MVC 的新手,所以请帮助我!页面返回 POST 然后返回并说 Name 字段是必需的,为什么在 POSTING BACK 之前它没有验证??

【问题讨论】:

  • 先检查基础知识 - 您是否已将 &lt;add key="ClientValidationEnabled" value="true" /&gt; &lt;add key="UnobtrusiveJavaScriptEnabled" value="true" /&gt; 添加到 web.config appSettings 中?
  • 客户端验证仍然没有执行。为什么??
  • 页面返回 POST 然后返回说需要电子邮件,为什么在 POSTING BACK 之前没有验证??
  • 您没有从布局中引用jquery.validate.unobtrusive.jsjquery.validate.js 还不够。
  • 安装Microsoft.jQuery.Unobtrusive.Validation NuGet 包。

标签: c# asp.net-mvc asp.net-mvc-4 validation client-side-validation


【解决方案1】:

我必须添加

<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />

也在与页面相关的 web.config 中:)

【讨论】:

    猜你喜欢
    • 2013-01-09
    • 1970-01-01
    • 2015-12-09
    • 2014-08-02
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    相关资源
    最近更新 更多