ASP.NET MVC 3:动态/ AJAX内容不引人注意的客户端验证所必需的步骤

Kal*_*son 39 asp.net-mvc unobtrusive-validation

客户端不显眼验证对动态插入的表单字段有效所需的完整步骤是什么?

相关的SO帖子

ASP.NET MVC 3使用动态内容进行不显眼的客户端验证 - 他需要在生成的HTML中显示不显眼的验证属性,并通过调用BeginForm

关于AjaxForm的ASP.Net MVC 3验证 - 提问者使用的Ajax.BeginForm是使用MicrosoftAjax而不是JQuery.validation.

PartialView和不显眼的客户端验证无法正常工作 - 他遇到了不显眼的验证属性的问题,这些属性没有显示和覆盖ViewContext.FormContext作为变通方法.

ASP.NET MVC 3:在布局上使用BeginForm时生成不显眼的验证 - 不显示在HTML中的不显眼的验证属性的解决方法

相关链接

Brad Wilson 在ASP.NET MVC 3中不引人注目的客户端验证

ASP.NET MVC 3中的完整验证指南 - 第1部分

ASP.NET MVC 3中的完整验证指南 - 第2部分

在ASP.NET MVC 3中使用动态内容进行不显眼的客户端验证

Kal*_*son 55

在这一点上,我认为以下是一套完整的要求:

  1. 用.创建表单 Html.BeginForm
  2. 打开 ClientValidationEnabled
  3. 打开 UnobtrusiveJavaScriptEnabled
  4. 在模型的属性(而不是字段)上设置适当的验证属性
  5. 如果用于创建表单元素的Html帮助程序与Html.BeginForm调用不在同一表单上,请使用相关的解决方法(请参阅解决方法1解决方法2)
  6. 按顺序包含jquery,jquery.validate.jsjquery.validate.unobtrusive.js文件
  7. 验证HTML中是否存在不显眼的验证属性
  8. 如果使用自定义验证器:
    • 确保将它们添加到 jQuery.validator.unobtrusive.adapters
    • 确保通过调用将它们添加到jQuery验证插件中jQuery.validator.addMethod.
    • 确保在此之前发生上述事情$(document).ready()已经太晚了
  9. 在初始页面加载后动态添加的调用jQuery.validator.unobtrusive.parsejQuery.validator.unobtrusive.parseElementon元素.