MVC Html.TextBox(不是For)客户端验证样式

时间:2015-02-05 15:57:15

标签: jquery asp.net-mvc razor jquery-validation-engine html.textbox

在某个视图中遇到客户端验证错误时,我遇到了审美和一致性问题。该视图由几个(子)部分视图组成,基本上是在许多地方同时使用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="">

1 个答案:

答案 0 :(得分:0)

就个人而言,我只是在jquery中进行验证,然后你可以自定义你需要的任何内容。

然后,您可以轻松地将输入文本框的css设置为红色;

$("#myInput").css("border", "1px solid red");

并使用

重置它
$("#myInput").css("border", "none")