ASP MVC Razor - FormValidation - @ Html.ValidationMessageFor - Editor

时间:2016-03-09 10:57:53

标签: asp.net asp.net-mvc razor

对我使用的所有其他元素进行验证,但是编辑器的验证消息没有显示出来。 ModelState具有正确的错误状态, 但是在表格上看不到任何信息。

这就是我所拥有的:

MODEL:

    [Required(AllowEmptyStrings = false, ErrorMessage = "Diese Feld muss angegeben werden.")]
    [StringLength(8000,ErrorMessage = "Feld muss zwischen {2} und {1} Zeichen enthalten.", MinimumLength = 8)]
    [DataType(DataType.MultilineText)]
    [AllowHtml]
    [Display(Name = "Beschreibung")]
    public string Description { get; set; }

查看:

 <div class="form-group">
        @Html.LabelFor(model => model.Description, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.Description, new { htmlAttributes = new { @class = "form-control" } })
           @Html.ValidationMessageFor(model => model.Description, "", new { @class = "text-danger" })
        </div>
    </div>

这也行不通:

 @Html.ValidationMessageFor(model => model.Description)

当我在视野中这样做时:

  @Html.ValidationMessageFor(model => model.Description, "test message")

它有效 - 意思是,它显示&#34;测试消息&#34; - 但我想要在模型中定义的消息...

----这里有一些按预期工作的字段----

模特:

 [Required(ErrorMessage = "Dieses Feld muss angegeben werden.")]
 [StringLength(25, MinimumLength = 2)]
 [Display(Name = "KeyWord")]
 public string Keyword { get; set; }

查看:

  <div class="form-group">
        @Html.LabelFor(model => model.Keyword, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.Keyword, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.Keyword, "", new { @class = "text-danger" })
        </div>
    </div>

当字段为空并尝试提交时,将显示所需的消息。 当字段包含太少或太多字符,并且字段未处于焦点或尝试提交时,将显示字符串长度消息。 这就是我想要的第二位编辑...

-----工作领域结束-----

我做错了什么?

谢谢

解决:   是那个&#34; jQuery TE&#34;用来美化编辑。

谢谢@Stephen Muecke和@Varun Vasishtha将我推到那里;)

2 个答案:

答案 0 :(得分:1)

必须存在限制jquery验证工作的javascript错误,尝试在Firefox中使用Firebug进行调试

答案 1 :(得分:0)

排除最后一条&#34;测试讯息&#34;:

 @Html.ValidationMessageFor(model => model.Description)

请参阅文档:https://msdn.microsoft.com/en-us/library/system.web.mvc.html.validationextensions.validationmessagefor%28v=vs.118%29.aspx