我已经成功地为我的网站制作了一个有效的jQuery.validation表单,只有HTML,CSS和JS(带有依赖项:jQuery和Validation)。问题是,当我在一个干净的ASP.NET核心Web项目中并使用完全相同的代码时,它似乎似乎没有在JavaScript中使用我的自定义验证参数
验证适用于所有情况。但是,我对[options]
的自定义.validate([options])
似乎不适用于ASP.NET Core
工作代码示例:JSFiddle
HTML:
<form method="post">
<fieldset>
<div class="master">
<input name="name" id="name" placeholder="Name" minlength="2" maxlength="40" required />
</div>
<div class="master">
<input name="email" id="email" placeholder="Email Address" type="email" required />
</div>
<div class="master">
<input name="company" placeholder="Company Name" />
</div>
<div class="master">
<input name="website" placeholder="Website" type="url" required />
</div>
<button type="submit">Next</button>
</fieldset>
</form>
CSS:
.master {
padding: 10px;
background-color: white;
}
.has-error {
background-color: red;
}
.has-success {
background-color: green;
}
JS:
$('form').validate({
// This disables the default validation notifications to the user.
// Instead I'll be using CSS colors to notify users of valid or invalid fields
errorPlacement: function (error, element) { },
// Invalid field produces a red-background in parent element
highlight: function(element) {
$(element).parent().addClass('has-error').removeClass('has-success');
},
// Valid field produces a green-background in parent element
unhighlight: function(element) {
$(element).parent().removeClass('has-error').addClass('has-success');
}
});
我的JavaScript .validate([options])
做了三件事:
<field>
无效,则父元素背景颜色为红色 <field>
有效,则父元素背景颜色为绿色 注意:
我的结论: 验证适用于所有情况,这意味着ASP.NET核心应用程序和纯HTML - CSS - JS都具有正确的功能验证。
唯一不起作用的是当我在ASP.NET核心应用程序中的[options]
中提供$('form').validate([options]);
时。我不确定为什么我的选项没有被使用。