Annotation de données des Plages de Dates
Est-il possible d'utiliser [Range]
annotation pour les dates?
quelque chose comme
[Range(typeof(DateTime), DateTime.MinValue.ToString(), DateTime.Today.ToString())]
Vous devez vous connecter pour publier un commentaire.
Docs sur MSDN dit, vous pouvez utiliser le RangeAttribute
Je l'ai fait pour résoudre votre problème
MyDateAttribute
.jQuery de validation ne fonctionne pas avec [Gamme(typeof(DateTime),"date1","date2"] --
Mon doc MSDN est incorrect
$.validator
- modèle MVC validation de la dateIci est une autre solution.
Le suffit de créer un nouveau contrôleur MVC appelé ValidationController et passé ce code là. La bonne chose à propos de la "Distance" de l'approche est que vous pouvez tirer parti de ce cadre pour gérer tous les types de validations de base sur votre propre logique.
Pour les rares occurrences lorsque vous êtes forcé à écrire une date sous forme de chaîne (lors de l'utilisation d'attributs), je recommande fortement d'utiliser le ISO-8601 notation.
Cela élimine toute confusion quant à savoir si 01/02/2004 est le 2 janvier ou le 1er février.
- Je utiliser cette approche:
Et de l'utiliser comme ceci:
J'ai trouvé des problèmes avec le
[Range(typeof(DateTime)]
d'annotation et de décrirais comme "maladroit, au mieux," il laisse trop de place à la chance SI ça fonctionne.De validation à distance semble être un bon moyen d'éviter le javascript dans les points de vue et de la maintenance du serveur côté de l'intégrité du code, personnellement, jamais comme l'envoi d'un code à un client d'exécuter si je peux l'éviter.
À l'aide de @StackThis réponse de base et de référence à un l'article sur de validation à distance dans MVC3
Modèle
Contrôleur Déployés dans le répertoire racine
La
msg
variable est affichée dans le cadre de l'assistance Html ValidationSummary ou le helper Html ValidationFor(x=>x.DATETIME)Vue
Il est important de noter que les champs transmis en tant que paramètre 2 et 3 doit exister dans la vue de la validation à distance pour transmettre les valeurs du contrôleur:
Le modèle et Html helpers fera tout le jquery travail pour vous.