2009-12-10 11 views
5

MicrosoftMvcJQueryValidation.js es utilizado por ASP.NET MVC 2 para la validación del lado del cliente.¿Dónde está la versión correcta de MicrosoftMvcJQueryValidation.js para MVC 2 beta 2?

Tengo problemas con este archivo que no funciona correctamente y me pregunto si tengo una versión incorrecta.

La versión que estoy usando viene de la fuente para futuros.

MicrosoftMvcJQueryValidation.js 
5,626 bytes 
11/17/09 10:43:12am 

Hay dos razones creo que tengo la versión incorrecta:

1) En realidad tengo que llamar a este código para obtener la rutina de validación funciona en absoluto. Esto se debe a que la función de validación del cliente predeterminada ahora integrada en FormContext.cs es Sys.Mvc.FormValidation.enableClientValidation.

ViewContext.FormContext.ClientValidationFunction = "EnableClientValidation"; 

2) Hay un cierto código de jquery.validate.js que hace lo followin:

this.settings.errorPlacement 
    ? this.settings.errorPlacement(label, $(element)) 
    : label.insertAfter(element); 

Esto pone en esta función en MicrosoftMvcJQueryValidation.js:

errorPlacement: function(error, element) { 
     var messageSpan = fieldToMessageMappings[element.attr("name")]; 
     $(messageSpan).empty(); 
     $(messageSpan).removeClass("field-validation-valid"); 
     $(messageSpan).addClass("field-validation-error"); 
     error.removeClass("input-validation-error"); 
     error.attr("_for_validation_message", messageSpan); 
     error.appendTo(messageSpan); 
    }, 

El problema es que el elemento ha sido envuelto por jQuery.validate con la expresión jQuery $(element).

Por lo tanto, element.attr("name") no está definido, pero element[0].attr("name") es válido.

He tomado MicrosoftMvcJQueryValidation.js de la descarga de futuros en Microsoft's site. `

no puedo encontrar ninguna otra versión MicrosoftMvcJQueryValidation - pero estoy seguro de que debe ser uno. ¿Alguien puede ayudar?

+0

¿Puede aclarar qué vista previa de ASP.NET MVC 2 está utilizando? No hay "Beta 2", pero hay una Vista previa 2, así como una Beta y un RC. ASP.NET MVC 2 Preview 2 también se incluye en Visual Studio 2010 Beta 2. Sí, ¡es confuso! – Eilon

+0

Bien, esta pregunta está un poco desactualizada ahora que hay un RC. por favor vea mi otra pregunta http://stackoverflow.com/questions/1934803/how-do-i-use-microsoftmvcvalidation-js-without-having-to-include-microsoftajax-js que debería ayudar –

+0

oh y me refería a Preview 2 (Bueno, RC no salió cuando escribí esta pregunta de todos modos) –

Respuesta

6

Desde el 17 de diciembre de 2009, la última versión de MicrosoftMvcJQueryValidation.js está disponible en el futures download project.

Tenga cuidado de incluir MicrosoftMvcJQueryValidation.js y NOT the similarly namedMicrosoftMvcValidation.js.

+1

¿Este código sigue siendo relevante ahora vs2010 se ha enviado como el enlace de futuros está muerto, ¿dónde encontraré este archivo js? –

+2

Puede encontrarlo en el "Código fuente ASP.NET MVC 2 RTM" o en "ASP.NET MVC 2 Future", ambos disponibles en: http://aspnet.codeplex.com/releases/view/41742 –

+0

@tigermain Aunque VS 2010 se ha enviado (por un tiempo en el momento de escribir esto), lo que aquí se indica parece ser el lugar correcto para encontrar MicrosoftMvcJQueryValidation.js. Si creo un nuevo proyecto en VS para un proyecto MVC 2 (no futuros) o incluso un proyecto MVC 3 Preview 1, este archivo no está en el proyecto por defecto. Supongo que si todavía tengo futuros de MVC 2 y creé un nuevo proyecto, estaría allí. –

Cuestiones relacionadas