当涉及到某个视图中的客户端验证错误时,我遇到了美学和一致性问题。该视图由几个(子)局部视图组成,基本上是一种在许多地方同时使用MVC/Razor的Html.Textbox()
和Html.TextBoxFor()
的形式。在一些局部视图中,我需要输入不是强类型的,因此只有TextBox()
,在这些情况下,验证不会触发输入框的客户端样式。
我知道ModelState无效,Html.ValidationSummary()
显示了由TextBox()
和TextBoxFor()
触发的验证错误的正确错误消息。然而,只有TextBoxFor()
获得类:"输入验证错误"
问题:当出现错误时,如何将TextBox()
的红色变为红色?(简单地说)。我认为JQuery验证在.上触发的值或属性缺失
代码:
作品:@Html.TextBoxFor(x => x.Owner, new { @class = "form-control" })
不:@Html.TextBox(name, Model.Name, new { @class = "form-control" })
HTML输出
作品:<input class="input-validation-error form-control" data-val="true" data-val-required="Input is required." id="Owner" name="Owner" type="text" value="">
不:<input class="form-control" id="Applicants_1__Name" name="Applicants[1].Name" type="text" value="">
就我个人而言,我只需要在jquery中进行验证,然后您就可以自定义所需的任何内容。
然后,您可以轻松地将输入文本框的css设置为红色;
$("#myInput").css("border", "1px solid red");
并使用重置
$("#myInput").css("border", "none")