En mi proyecto MVC3, almaceno la predicción de puntaje para fútbol / fútbol / hockey / ... juego deportivo. Entonces, una de las propiedades de mi clase de predicción se ve así:
[Range(0, 15, ErrorMessage = "Can only be between 0 .. 15")]
[StringLength(2, ErrorMessage = "Max 2 digits")]
[Remote("PredictionOK", "Predict", ErrorMessage = "Prediction can only be a number in range 0 .. 15")]
public int? HomeTeamPrediction { get; set; }
Ahora, también necesito cambiar el mensaje de error para un tipo de datos, int
en mi caso. Se utiliza uno predeterminado: "El campo HomeTeamPrediction debe ser un número". Necesito encontrar una manera de cambiar este mensaje de error. Este mensaje de validación también parece tener una predicción para la validación remota uno.
Probé el [DataType]
atributo, pero esto no parece ser un número simple en la system.componentmodel.dataannotations.datatype
enumeración.
fuente
Pruebe una de estas expresiones regulares:
espero que ayude: D
fuente
int.MaxValue
solo cubre hasta2.147.483.647
Usar expresiones regulares en la anotación de datos
fuente
[0-9]+
?fuente
Prueba este atributo:
Y también debes registrar el atributo en el complemento validador:
fuente
Pasó casi una década, pero el problema sigue siendo válido con Asp.Net Core 2.2 también.
Lo logré agregando
data-val-number
al campo de entrada la localización de uso en el mensaje:fuente
ASP.NET Core 3.1
Esta es mi implementación de la función, funciona en el lado del servidor, así como con la validación de jquery discreta con un mensaje de error personalizado como cualquier otro atributo:
El atributo:
Lógica del lado del cliente:
Y finalmente el uso:
fuente