Validação usando atributos em asp.net mvc é muito bom. Tenho usado o [Range(min, max)]
validador até agora para verificar valores, como por exemplo:
[Range(1, 10)]
public int SomeNumber { get; set; }
No entanto - agora preciso verificar as condições mínimas e máximas separadamente. Eu esperava encontrar atributos como estes:
[MinValue(1, "Value must be at least 1")]
[MaxValue(10, "Value can't be more than 10")]
public int SomeNumber { get; set; }
Existem atributos predefinidos para escrever isso? Ou como faço para conseguir isso?
asp.net-mvc-3
validation
Stiank81
fonte
fonte
Respostas:
Aqui está como eu escreveria um validador para MaxValue
O atributo MinValue deve ser praticamente o mesmo
fonte
IClientValidation
interface no atributo acima e retornar os valores corretos doGetClientValidationRules
métodoNão acho que exista um atributo de validações mín. / Máx. Eu usaria algo como
para valor mínimo 1 e
para valor máximo 10
fonte
RangeAttribute
temAllowMultiple = false
, então isso não pode ser compilado.Um exemplo completo de como isso poderia ser feito. Para evitar ter que escrever scripts de validação do lado do cliente, o ValidationType = "range" existente foi usado.
fonte
O plug-in de validação jQuery já implementa regras mínimas e máximas, só precisamos criar um adaptador para o nosso atributo personalizado:
Adaptador:
O atributo mínimo seria muito semelhante.
fonte