ASP.Net Core中的客户端验证(与ASP.Net MVC 5不同)无效。我有以下代码:
public class CountryModel{
[Required]
public String Title {get; set;}
}
并在我的视图页面
using(Html.BeginForm()){
@Html.LabelFor(x=> x.Title)
@Html.ValidationMessageFor(x=> x.Title)
@Html.EditorFor(x=> x.Title)
<Button>Add</Button>
}
将以下脚本添加到页面末尾:
...
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/jquery-validation/dist/jquery.validate.min.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>
但它失败了。我通过在浏览器中查看源代码来检查脚本,并且脚本已正确加载。我已经指出我的Action API的断点要仔细检查,每次按下添加按钮我都会到达断点,这意味着客户端验证失败。
ASP.Net Core中是否还有其他配置?因为这种方法在MVC 5中运行得很好。
答案 0 :(得分:8)
答案 1 :(得分:0)
就我而言,问题完全不同。
验证脚本参考位于默认值/内置于_ValidationScriptsPartial.cshtml
中,我刚刚通过添加
@section Scripts
{
<partial name="_ValidationScriptsPartial"/>
}
位于View cshtml的末尾。
我可以看到在开发人员工具中已正确引用,所以我认为一切都很好:
但是,事实证明 _ValidationScriptsPartial
中的路径不正确!
如您所见,只有缩小版本可用...而在第二个版本中,缺少dist
子文件夹。
这真是令人惊讶,因为这是我没碰过的样板代码。
答案 2 :(得分:0)
如果不打扰的客户端验证不起作用,请确保检查以下内容。
确保已加载以下客户端验证库 按照指定的顺序