ASP.Net核心:不显眼的验证不起作用

问题描述 投票:5回答:1

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中运行得很好。

asp.net asp.net-mvc asp.net-core-mvc asp.net-core-1.0
1个回答
8
投票

请确保您的验证相关脚本位于您正在使用的环境中。开发或生产。

我挣扎了一段时间,当我检查我的脚本时,它被放置在开发部分,我的应用程序正在使用生产环境运行。

一旦我将脚本放在生产中,它就开始工作了!

© www.soinside.com 2019 - 2024. All rights reserved.