【问题标题】:not show ValidationMessageFor in Razor不在 Razor 中显示 ValidationMessageFor
【发布时间】:2017-12-30 05:26:03
【问题描述】:

我用 Asp.net Mvc 代码编写。

我没有看到 ValidationMessageFor 消息。 我已将脚本添加到 html,但仍然无法正常工作。 请帮助我。

这段代码总结自Html Code

@using (Html.BeginForm("****", "***", FormMethod.Post, new {area = "***"}))
{
            @Html.AntiForgeryToken()
            @Html.ValidationSummary()
            @Html.HiddenFor(model => model.PK_User)

            <div class="form-group">
                @Html.TextBoxFor(model => model.FirstName)
                @Html.ValidationMessageFor(model => model.FirstName)
            </div>
}

@section PageScript { 
 <script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
 <script src="~/Scripts/jquery.validate.min.js"></script>
}

在课堂上

public class User
{
    [ScaffoldColumn(false)]
    [Bindable(false)]
    public long PK_User { get; set; }

    [Required(ErrorMessage = "Please Enter Name" , AllowEmptyStrings = false)]
    [StringLength(50, MinimumLength = 3, ErrorMessage = "Error Name"]
    public string FirstName { get; set; }
}

这段代码总结自Web.config

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

</appSettings>

【问题讨论】:

  • 首先颠倒脚本的顺序,因为jquery.validate.min.js 应该排在第一位。其次,您确定这些脚本正在发送给客户端吗?
  • @DavidG 非常感谢。完成
  • 解决了这个问题吗?

标签: asp.net-mvc validation razor message display


【解决方案1】:

你的 web.config 中可能缺少这个吗?

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

"因为当您使用不显眼的客户端验证时不会发出 JavaScript,如果您忘记包含验证脚本,则在页面加载时您不会看到任何错误。唯一的结果是表单值不会在浏览器中验证。"

来源:How to: Implement Remote Validation in ASP.NET MVC

【讨论】:

  • 请看修改后的帖子,appsetting和你写的一样
  • 非常感谢。对于文章
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多