使用 VS2017
,我使用个人的默认
模式。我们知道 ASP.NET核心Web应用程序
模板创建了一个ASP.NET MVC Core 1.1.1应用程序用户帐户 VS2017
默认情况下会在项目中创建并配置所有必需的 css
和 javascripts
文件。当我使用javascript和 jquery.validate.js
时, validation
在客户端和服务器端接受正常工作,如下所示:
观察


 ModelStat.IsValid
返回false,因此数据不会插入到db中。 jquery.validate.js
被正确加载< script> ...< \ script>
之前加载 jquery.validate.js
然后移动它到< script> ...< \ script>
之后, jquery.validate.js
成功加载,但客户端验证仍然无效。查看


 @model MyProj.Models .MainViewModel
 ...
< div class =“form-group”>
 < label asp-for =“Price”>< / label>
 < div class =“col-md-10”>
 < input asp-for =“Price”class =“form-control”>< / input>
 < span asp-validation-for =“Price”class =“text-danger”>< / span>
 < / DIV>
 < / DIV>
 < DIV>
 < button type =“submit”name =“submit”...> GO< / button>
 < / div>

 @section scripts
 {
 @ {await Html.RenderPartialAsync(“_ ValidationScriptsPartial”); }
 <脚本>
 $(document).ready(function(){
 ...
 ...
});
 < / script>
}



 页面来源视图
&#xA ;
 ...
< div class =“col-sm-2”>
 < small class =“input-group-addon”> $< / small>
 < input class =“form-control text-right”type =“text”data-val =“true”data-val-number =“字段价格必须是数字。” id =“Price”name =“Price”value =“”>
 < span class =“text-danger field-validation-valid”data-valmsg-for =“Price”data-valmsg-replace =“true”>< / span>
< / div>& #xA; ...
< / DIV>
 ...
 < script src =“/ lib / jquery / dist / jquery.js”>< / script>
 < script src =“/ lib / bootstrap / dist / js / bootstrap.js”>< / script>
 < script src =“/ js / site.js?v = EWaMeWsJBYWmL2g_KkgXZQ5nPe-a3Ichp0LEgzXczKo”>< / script>


 < script src =“/ lib / jquery-validation / dist / jquery.validate.js”>< / script>
 < script src =“/ lib / jquery-validation-unobtrusive / jquery.validate.unobtrusive.js”>< / script>


 <脚本>
 $(document).ready(function(){
 ...
 ...
});
 < /脚本>
 代码>


答案 0 :(得分:0)
为时已晚,但希望对您有帮助
也像这样使用unobtrusive
:
@section scripts{
<script src="~/lib/jquery-validation/dist/jquery.validate.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script>
}