Javascript I';我试图用jquery验证突出显示我的输入
我在mvc工作。 我的看法是:Javascript I';我试图用jquery验证突出显示我的输入,javascript,jquery,asp.net-mvc,jquery-validate,unobtrusive-validation,Javascript,Jquery,Asp.net Mvc,Jquery Validate,Unobtrusive Validation,我在mvc工作。 我的看法是: @using (Html.BeginForm("CreatePost", "Posts", FormMethod.Post, new { @enctype = "multipart/form-data", @id = "save-post-form" })) { <div class="row"> <div class="col-xs-5" id="post-details-div"> <div class="
@using (Html.BeginForm("CreatePost", "Posts", FormMethod.Post, new { @enctype = "multipart/form-data", @id = "save-post-form" }))
{
<div class="row">
<div class="col-xs-5" id="post-details-div">
<div class="form-group">
<label>Post Title</label>
@Html.TextBoxFor(m => m.Title, new { @class = "form-control", @autocomplete = "off" })
@Html.ValidationMessageFor(m => m.Title, null, new { @class = "text-danger" })
</div>
<div class="form-group">
<label>Post Description</label>
@Html.TextAreaFor(m => m.Description, new { @class = "form-control", @autocomplete = "off" })
@Html.ValidationMessageFor(m => m.Description, null, new { @class = "text-danger" })
</div>
<div class="form-group">
<label>Post Cover Picture</label>
@Html.TextBoxFor(m => m.PostCoverFile, new { @type = "file" })
@Html.ValidationMessageFor(m => m.PostCoverFile, null, new { @class = "text-danger" })
</div>
</div>
<div id="post-content-div">
<label>Content</label>
<div class="form-group">
@Html.TextAreaFor(m => m.Content)
@Html.ValidationMessageFor(m => m.Content, null, new { @class = "text-danger" })
</div>
</div>
</div>
}
@section scripts{
<script>
require(["createPost"], function (module) {
$("#navbar-links").find("li[data-name='posts']").addClass('active');
module.load();
});
</script>
}
什么都没发生,我也不知道怎么了。。。
请帮帮我。验证工作正常,但高亮显示不会触发
验证工作正常,但高亮显示不会触发
这是因为您已经在使用不引人注目的验证插件作为ASP的一部分。因此,不引人注目的验证会自动构造并调用.validate()
方法。这意味着您的.validate()
实例总是被忽略。(根据jQuery Validate的设计,.Validate()
方法只能调用一次,作为插件在表单上的初始化,任何后续调用都将被忽略。)
换句话说,在表单上调用.validate()
(初始化插件)后,选项将被锁定,无法通过再次调用.validate()
动态更改
您有两个选项可以覆盖默认的高亮显示
和取消高亮显示
不引人注目的验证
插件,并根据需要构造.validate()
方法。给你完全的控制,但FWIW,你不会得到“不引人注目”的功能和好处的不引人注目的验证插件高亮显示
和取消高亮显示
选项放在其中,然后确保此方法在.setDefaults()
不在任何DOM就绪事件处理程序中。请记住,您在.setDefaults()
中放置的任何内容都会影响页面上的所有表单
请在此处阅读更多信息:
这里(请参见编辑2和评论部分):下面覆盖的CSS对我很有用。认为这对那些需要快速修复的人会有帮助
.field-validation-error {
color: #ff0000;
}
.field-validation-valid {
display: none;
}
.input-validation-error {
border: 1px solid #ff0000;
background-color: #ffeeee;
}
.valid {
}
@安德烈布,不客气。如果这个答案解决了问题,请“接受”。@AndreiB,单击我答案旁边左上角的复选标记。谢谢
.field-validation-error {
color: #ff0000;
}
.field-validation-valid {
display: none;
}
.input-validation-error {
border: 1px solid #ff0000;
background-color: #ffeeee;
}
.valid {
}