在Razor中没有显示ValidationMessageFor

时间:2017-07-24 14:53:39

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

我用Asp.net编写的Mvc代码。

ValidationMessageFor消息不会显示给我。 我已经为html添加了脚本,但仍然无法正常工作。 请帮助我。

  

这段代码总结自 Html代码

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

1 个答案:

答案 0 :(得分: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