it-swarm-pt.tech

ASP.NET MVC 3: etapas necessárias para validação discreta do lado do cliente do conteúdo dinâmico / AJAX

Qual é o conjunto completo de etapas necessárias para que a validação discreta do lado do cliente funcione para campos de formulário inseridos dinamicamente?

Relevante SO postagens

Validação discreta do lado do cliente do ASP.NET MVC 3 com conteúdo dinâmico - Ele precisava dos atributos de validação discreta para aparecer no HTML gerado e o fazia chamando BeginForm

Validação do ASP.Net MVC 3 no AjaxForm - O solicitante estava usando Ajax.BeginForm que usa MicrosoftAjax em vez de JQuery.validation.

PartialView e validação discreta do cliente não estão funcionando - Ele teve o problema de atributos de validação discreta não aparecerem e substituírem ViewContext.FormContext como uma solução alternativa.

ASP.NET MVC 3: Gere validação discreta quando BeginForm estiver no layout - Solução alternativa para atributos de validação discretos que não aparecem no HTML

Links relevantes

Brad Wilson's Validação discreta de cliente no ASP.NET MVC

O Guia Completo de Validação no ASP.NET MVC 3 - Parte 1

O Guia Completo de Validação no ASP.NET MVC 3 - Parte 2

Validação discreta do lado do cliente com conteúdo dinâmico no ASP.NET MVC

39
Kaleb Pederson

Neste ponto, acredito que o seguinte é um conjunto completo de requisitos:

  1. Crie um formulário com Html.BeginForm
  2. Ative ClientValidationEnabled
  3. Ative UnobtrusiveJavaScriptEnabled
  4. Defina atributos de validação apropriados nas propriedades do modelo ( e não campos)
  5. Se os Helpers Html usados ​​para criar os elementos do formulário não estiverem no mesmo formulário que a chamada Html.BeginForm, Use uma solução alternativa relevante (consulte solução alternativa 1 e solução alternativa 2 )
  6. Inclua os arquivos jquery, jquery.validate.js E jquery.validate.unobtrusive.js, Nessa ordem
  7. Verifique se os atributos discretos de validação estão presentes no HTML
  8. Se estiver usando validadores personalizados:
    • verifique se eles foram adicionados a jQuery.validator.unobtrusive.adapters
    • verifique se eles foram adicionados ao plug-in de validação do jQuery chamando jQuery.validator.addMethod.
    • verifique se o acima ocorreu antes de $(document).ready(), pois nesse momento é tarde demais
  9. Ligue para jQuery.validator.unobtrusive.parse Ou jQuery.validator.unobtrusive.parseElement Nos elementos adicionados dinamicamente após o carregamento inicial da página.
55
Kaleb Pederson