Annotation de plage entre rien et 100?
J'ai un [Plage] annotation qui ressemble à ceci:
[Range(0, 100)]
public int AvailabilityGoal { get; set; }
Ma page ressemble à ceci:
<%=Html.TextBoxFor(u => u.Group.AvailabilityGoal)%>
Il fonctionne comme il se doit, je ne peux entrer des valeurs comprises entre 0 et 100, mais je veux aussi la zone de saisie pour être en option, l'utilisateur ne devrait pas obtenir une erreur de validation si la zone de saisie est vide. Cela n'a rien à voir avec la portée, mais parce que le type est un entier. Si l'utilisateur laisse la case vide, il devrait faire AvailabilityGoal = 0 mais je ne veux pas forcer l'utilisateur à entrer un zéro.
J'ai essayé, mais c'est (évidemment) n'a pas fonctionné:
[Range(typeof(int?), null, "100")]
Est-il possible de résoudre ce avec des Annotations de Données ou de toute autre manière?
Merci d'avance.
Bobby
source d'informationauteur Bobby
Vous devez vous connecter pour publier un commentaire.
Vous ne devriez pas avoir à changer la [Plage] attribut, comme [Intervalle] et d'autres intégrés dans DataAnnotations validateurs no-op quand ils reçoivent une valeur vide. Il suffit de faire le bien lui-même de type int? plutôt que de int. Non nullable ValueType propriétés (comme int) sont toujours automatiquement requise.
Je suppose que vous pourriez remplacer le
Range
objet et ajouter ce comportement.