La validación usando atributos en asp.net mvc es realmente agradable. He estado usando el [Range(min, max)]
validador hasta ahora para verificar valores, como por ejemplo:
[Range(1, 10)]
public int SomeNumber { get; set; }
Sin embargo, ahora necesito verificar la condición mínima y máxima por separado. Esperaba encontrar atributos como estos:
[MinValue(1, "Value must be at least 1")]
[MaxValue(10, "Value can't be more than 10")]
public int SomeNumber { get; set; }
¿Hay atributos predefinidos para escribir esto? ¿O cómo lo logro?
asp.net-mvc-3
validation
stiank81
fuente
fuente
Respuestas:
Así es como escribiría un validador para MaxValue
El atributo MinValue debería ser bastante el mismo
fuente
IClientValidation
interfaz en el atributo anterior y devolver los valores correctos delGetClientValidationRules
métodoNo creo que exista el atributo de validaciones mínimas / máximas. Usaría algo como
para valor mínimo 1 y
para valor máximo 10
fuente
RangeAttribute
tieneAllowMultiple = false
, por lo que no se puede compilar.Un ejemplo completo de cómo se podría hacer esto. Para evitar tener que escribir scripts de validación del lado del cliente, se ha utilizado el ValidationType = "range" existente.
fuente
El complemento de validación jQuery ya implementa reglas mínimas y máximas, solo necesitamos crear un adaptador para nuestro atributo personalizado:
Adaptador:
El atributo Min sería muy similar.
fuente