DateTime (date et heure) de validation avec des Données d'Annotation
J'ai le code suivant:
[DisplayName("58.Date and hour of birth")]
[DataType(DataType.DateTime, ErrorMessage = "Please enter a valid date in the format dd/mm/yyyy hh:mm")]
[Range(typeof(DateTime), "1/1/2011", "1/1/2016")]
[RequiredToClose]
public object V_58 { get; set; }
Je veux forcer l'inclusion de temps (dans le format hh:mm) et pas seulement la date. Ce code considère 1/1/2011 comme valable que si elle ne devrait pas, comme il n'est pas de l'information de l'heure , Aucune idée sur la façon d'exprimer le bon format ? (jj/mm/aaaa hh:mm)
- Vous devriez envisager de choisir les réponses à certaines de vos questions précédentes.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez écrire votre propre
ValidationAttribute
et de décorer la propriété avec elle. Vous remplacez laIsValid
méthode avec votre propre logique.Et enfin, la décoration de votre propriété:
Remarque: méfiez-vous de plusieurs attributs de validation sur vos propriétés, que l'ordre dans lequel ils sont évalués ne peut être déterminé sans plus de personnalisation, et par la suite si la logique de validation des chevauchements, vos messages d'erreur pourrait ne pas décrire avec précision ce qu'est exactement vous dire de mal avec le bien (oui, c'est une phrase)
Enfin résolu avec un custom ValidationAttribute :
Si vous venez de passer une date en une chaîne, il le considérera comme 12:00 AM. Si vous voulez passer le temps au sein d'une chaîne d'utiliser "06/06/2011 7:00 PM" syntaxe.
Autre solution serait de garder votre chaîne est, de les convertir en DateTime & puis AddHours &/ou AddMinutes pour objet DateTime en fonction de vos besoins.
Cette solution ne permet pas à temps pour l'entrée 00.00, mais fonctionne avec d'autres valeurs.
Mais il fonctionne uniquement avec de la ficelle convenance.