Arr*_*rrr 7 asp.net asp.net-mvc asp.net-core-mvc asp.net-core-1.0
ASP.Net Core中的客户端验证(与ASP.Net MVC 5不同)无效.我有以下代码:
public class CountryModel{
[Required]
public String Title {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
并在我的视图页面
using(Html.BeginForm()){
@Html.LabelFor(x=> x.Title)
@Html.ValidationMessageFor(x=> x.Title)
@Html.EditorFor(x=> x.Title)
<Button>Add</Button>
}
Run Code Online (Sandbox Code Playgroud)
将以下脚本添加到页面末尾:
...
<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>
Run Code Online (Sandbox Code Playgroud)
但它失败了.我通过在浏览器中查看源代码来检查脚本,并且脚本已正确加载.我已经指出了一个断点,我的Action API要仔细检查,每次按下添加按钮,我都会到达断点,这意味着客户端验证失败.
ASP.Net Core中是否还有其他配置?因为这种方法在MVC 5中运行得很好.
小智 10
请确保您的验证相关脚本位于您正在使用的环境中.开发或生产.
我挣扎了一段时间,当我检查我的脚本时,它被放置在开发部分,我的应用程序正在使用生产环境运行.
一旦我将脚本置于生产中,它就开始工作了!
就我而言,问题完全不同。
验证脚本引用位于默认/内置中_ValidationScriptsPartial.cshtml,我只是通过添加添加到我的页面
@section Scripts
{
<partial name="_ValidationScriptsPartial"/>
}
Run Code Online (Sandbox Code Playgroud)
在我查看 cshtml 的末尾。
我可以看到它在开发人员工具中被正确引用,所以我认为一切都很好:
然而,结果发现路径_ValidationScriptsPartial不正确!如您所见,只有缩小版可用……而在第二个的情况下,dist缺少一个子文件夹。
这是相当令人惊讶的,因为这是一个我没有接触过的样板代码。
| 归档时间: |
|
| 查看次数: |
7211 次 |
| 最近记录: |