none
Data Annotation RRS feed

  • Pergunta

  • queria comparar duas datas com data annotation, mas não achei nada como preciso ainda.

    minha classe

    public class Teste{
      [Key]
      public int TesteId { get; set; }
      [Required]        
      public DateTime DataInicio { get; set; }
    
      public DateTime? DataFim { get; set; }
    }

    onde gostaria de garantir que a data fim nunca fosse menor que a data inicio.

    sexta-feira, 22 de fevereiro de 2013 15:01

Respostas

  • Você pode implementar um IValidatableObject:

    public class Teste: IValidatableObject
    {
      [Key]
      public int TesteId { get; set; }
      [Required]        
      public DateTime DataInicio { get; set; }
    
      public DateTime? DataFim { get; set; }
    
      public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
      {
           if (DataFim < DataInicio)
                yield return new ValidationResult("Data final não pode ser menor que a inicial");
      }
    }


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    • Sugerido como Resposta Paulo M Dalbosco sexta-feira, 22 de fevereiro de 2013 16:39
    • Marcado como Resposta Pablotdv sexta-feira, 22 de fevereiro de 2013 16:39
    sexta-feira, 22 de fevereiro de 2013 16:19