Asp.net mvc 4 asp.net mvc4客户端验证不需要';行不通
我在配置中启用了clientside验证,我还包括了相应的jquery文件以进行验证,但每次提交时,页面都会在不进行clientside验证的情况下发布到服务器。我已经粘贴了在下面的源代码中生成的标记。它似乎正在生成数据验证消息。只是不知何故没有触发验证 我正在使用Nuget上提供的BeginCollection库来构建我的动态表单。这可能是我的客户端验证不起作用的原因吗Asp.net mvc 4 asp.net mvc4客户端验证不需要';行不通,asp.net-mvc-4,jquery-validate,unobtrusive-validation,Asp.net Mvc 4,Jquery Validate,Unobtrusive Validation,我在配置中启用了clientside验证,我还包括了相应的jquery文件以进行验证,但每次提交时,页面都会在不进行clientside验证的情况下发布到服务器。我已经粘贴了在下面的源代码中生成的标记。它似乎正在生成数据验证消息。只是不知何故没有触发验证 我正在使用Nuget上提供的BeginCollection库来构建我的动态表单。这可能是我的客户端验证不起作用的原因吗 <input class="text-box single-line valid" data-val="tru
<input class="text-box single-line valid" data-val="true"
data-val-number="The field DaysAbsent must be a number."
data-val-required="The DaysAbsent field is required."
id="students_471abdc8-b190-42da-9f72-ed30a1e33b10__DaysAbsent"
name="students[471abdc8-b190-42da-9f72-ed30a1e33b10].DaysAbsent"
type="text" value="0">
BundleConfig.cs:
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
您提到了动态表单,所以如果动态加载输入,jquery.validate不知道它们在那里。您必须“刷新”表单验证以验证新输入 添加新输入后,使用以下代码“刷新”表单的验证:
$('form').removeData('validator');
$('form').removeData('unobtrusiveValidation');
$.validator.unobtrusive.parse($('form'));
这是什么
BeginCollection
库?从没听说过。但最重要的是,它是服务器端还是客户端库?是否包含Microsoft的不引人注目的验证
?darin begincollection是一个服务器端库。这就是上面长长的Id和名字的来源。斯帕基,是的,据我所知。我正在编辑上面的代码。~/Scripts/jquery.validate*
应该在~/Scripts/jquery.unobtrusive
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
$('form').removeData('validator');
$('form').removeData('unobtrusiveValidation');
$.validator.unobtrusive.parse($('form'));