La validation à l'aide d'attributs dans asp.net mvc est vraiment sympa. J'ai utilisé le [Range(min, max)]
validateur jusqu'à présent pour vérifier des valeurs, comme par exemple:
[Range(1, 10)]
public int SomeNumber { get; set; }
Cependant, je dois maintenant vérifier séparément les conditions min et max. Je m'attendais à trouver des attributs comme ceux-ci:
[MinValue(1, "Value must be at least 1")]
[MaxValue(10, "Value can't be more than 10")]
public int SomeNumber { get; set; }
Y a-t-il des attributs prédéfinis pour écrire ceci? Ou comment puis-je y parvenir?
asp.net-mvc-3
validation
stiank81
la source
la source
Réponses:
Voici comment j'écrirais un validateur pour MaxValue
L'attribut MinValue doit être sensiblement le même
la source
IClientValidation
interface sur l'attribut ci-dessus et de renvoyer les valeurs correctes de laGetClientValidationRules
méthodeJe ne pense pas que l'attribut de validation min / max existe. J'utiliserais quelque chose comme
pour la valeur minimale 1 et
pour valeur maximale 10
la source
RangeAttribute
aAllowMultiple = false
, donc cela ne peut pas compiler.Un exemple complet de la façon dont cela pourrait être fait. Pour éviter d'avoir à écrire des scripts de validation côté client, le ValidationType = "range" existant a été utilisé.
la source
jQuery Validation Plugin implémente déjà des règles min et max, il nous suffit de créer un adaptateur pour notre attribut personnalisé:
Adaptateur:
L'attribut Min serait très similaire.
la source