Saltar al contenido

Cómo cambiar la validación del mensaje ‘data-val-number’ en MVC mientras es generado por @Html helper

Solución:

Puede anular el mensaje proporcionando el datos-val-numero atribuirse a sí mismo al renderizar el campo. Esto anula el mensaje predeterminado. Esto funciona al menos con MVC 4.

@ Html.EditorFor (model => model.MyNumberField, nuevo {data_val_number = “¡Suministra un número entero, amigo!”})

Recuerde que debe usar un guión bajo en el nombre del atributo para que Razor acepte su atributo.

Lo que tienes que hacer es:

Agregue el siguiente código dentro Application_Start() en Global.asax:

 ClientDataTypeModelValidatorProvider.ResourceClassKey = "Messages";
 DefaultModelBinder.ResourceClassKey = "Messages";

Haga clic derecho en su proyecto ASP.NET MVC en VS. Seleccione Add => Add ASP.NET Folder => App_GlobalResources.

Agrega un .resx archivo llamado Messages.resx en esa carpeta.

Agregue estos recursos de cadena en el .resx expediente:

FieldMustBeDate        The field {0} must be a date.
FieldMustBeNumeric     The field {0} must be a number.
PropertyValueInvalid   The value '{0}' is not valid for {1}.
PropertyValueRequired  A value is required.

Cambiar el FieldMustBeNumeric valor como quieras … 🙂

Ya terminaste.


Consulte esta publicación para obtener más detalles:

Localización de mensajes de error predeterminados en ASP.NET MVC y WebForms

No será fácil. El mensaje predeterminado se almacena como un recurso incrustado en el System.Web.Mvc ensamblado y el método que está obteniendo es un método estático privado de una clase interna sellada interna (System.Web.Mvc.ClientDataTypeModelValidatorProvider+NumericModelValidator.MakeErrorString). Es como si el tipo de Microsoft que codifica esto escondiera un alto secreto 🙂

Puede echar un vistazo a la siguiente publicación de blog que describe una posible solución. Básicamente, debe reemplazar el ClientDataTypeModelValidatorProvider existente por uno personalizado.

Si no le gusta la codificación incondicional que tendrá que hacer, también puede reemplazar este valor entero dentro de su modelo de vista con una cadena y tener un atributo de validación personalizado que haría el análisis y proporcionaría un mensaje de error personalizado (que incluso podría ser localizado).

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *