Pergunta

Não consigo fazer com que a validação do cliente trabalhando com a versão do MVC lançada com o Visual Studio 2010 RC.

Eu tentei com dois projetos - uma atualização de 1.0 e uma usando o modelo que veio com vs.

Eu acho que a versão do modelo funcionaria, mas não funcionaria. Adicionado os seguintes scripts:

<script type="text/javascript" 
  src="<%= Url.Content("~/Scripts/MicrosoftMvcValidation.js") %>">
</script>
<script type="text/javascript" 
  src="<%= Url.Content("~/Scripts/jquery.validate.js")%>">
</script>

que são baixados para o cliente corretamente. Adicionado o seguinte à minha página de formulário:

<% Html.EnableClientValidation(); %>
<%--yes, am aware of the EndForm() bug! --%>
<% using (Html.BeginForm()) { %>    
<%--snip --%>

E posso ver que os scripts de validação do cliente foram adicionados à parte inferior do formulário. Mas a validação do cliente ainda nunca acontece.

O pior é que, no meu projeto atualizado, os scripts de validação do cliente nunca são emitidos na página!

OBSERVE: Estou perguntando especificamente sobre a versão do MVC2 que veio com o VS2010 RC. Além disso, eu sei como Google; Por favor, não perca o tempo de ninguém pesquisando e respondendo se você não estiver familiarizado com esse problema no candidato a lançamento do Visual Studio. Obrigado.


ID10T de erro: Edição do usuário Uma página e testando outra.

No entanto, não consigo obter a validação do lado do cliente trabalhando no projeto de modelo MVC2. Se alguém tiver uma idéia de como, digamos, fazer isso funcionando para a página de registro, responda.

Foi útil?

Solução

Eu também tive o mesmo problema, os exemplos de MS (Scottgu e Haacked) são um pouco confusos, pois você realmente não sabe sobre qual versão eles estão falando, e atualiza seu post toda vez que uma nova versão é lançada, então você está Não é relevante para você :(.

Para fazer a validação do jQuery funcionar no VS 2010, faça o seguinte:

  1. À medida que você respondeu, você precisa do arquivo MicrosoftMVCJQueryValidation.js, várias maneiras de obter esse arquivo, eu o recebi do projeto de exemplo da postagem HAACKED: ASP.NET MVC 2 Validação personalizada
  2. Remova todas as referências do JS e deixe este e o jQuery.validate.min.js
  3. ligue para <% html.enableClientValidation (); %> antes da etiqueta de abertura do formulário
  4. Não se esqueça de colocar alguns html.ValidationMessage para (.. em seus campos, já que este é o gatilho para adicionar as entradas ao objeto JSON de validação do cliente

Eu acho que você fez tudo o exposto, mas deixou as referências ao MicrosoftMVCValidation.js na página, aviso no final deste arquivo, há o gancho para a validação do lado do cliente MS.

Engraçado eu só queria blogar sobre esse problema esta manhã e encontrei sua pergunta, espero que isso ajude

Outras dicas

Não tive sorte em fazer isso funcionar no MVC 2 RC. De acordo com outras perguntas aqui, você deve obter o arquivo MicrosoftMVCJQueryValidation.js do lançamento do MVC Futures, segure o pé esquerdo atrás da cabeça e assobie Dixie por meia hora. Eu fiz isso e muito mais e não consegui fazê -lo funcionar.

No entanto, eu o trabalhei usando o plugin de validação do jQuery diretamente. Mais trabalho, mas faz o trabalho.

Espero que seja corrigido no RTM.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top