de Disons que je suis les classes suivantes:.Net - DataAnnotations - Valider 2 DateTime dépendant
public class Post
{
public Date BeginDate { get; set; }
[Validate2Date(BeginDate, EndDate, ErrorMessage = "End date have to occurs after Begin Date")]
public Date EndDate { get; set; }
}
public class Validate2Dates : ValidationAttribute
{
public Validate2Dates(DateTime a, DateTime b)
{ ... }
public override bool IsValid(object value)
{
// Compare date and return false if b < a
}
}
Mon problème est de savoir comment utiliser mes Validate2Dates personnalisés attribut parce que je ne peux pas le faire:
[Validate2Date(BeginDate, EndDate, ErrorMessage = "End date have to occurs before Begin Date")]
j'ai eu l'erreur suivante:
An object reference is required for the non-static field, method, or property '...Post.BeginDate.get' C:...\Post.cs
Totalement en désaccord. Vous ne pouvez pas utiliser un attribut de validation spécifiquement tel qu'il est écrit ci-dessus, c'est correct. Cependant, le problème qu'il tente de résoudre est parfaitement traité en utilisant des attributs de validation. Vous avez raison, je crois, en ce sens qu'il est judicieux d'intégrer la logique de validation elle-même dans un composant réutilisable, vous pouvez ensuite utiliser ce composant dans un attribut de validation et le brancher simplement sur le reste des notifications de données machinerie. – nerraga