Usuário com melhor resposta
Definir faixa de data.

Pergunta
-
pessoal eu estou fazendo uma aplicação ao qual quando cadastro o cliente o mesmo necessita de adicionar a data de nascimento
mais estou conseguindo inserir datas na qual a pessoa ainda não havia nascido, ai queria saber como faço para fazer essa faixa de data , para que pessoas com no minimo 18 anos podem ser cadastrada e no máximo 99 anos.....
obs.: Estou utilizando o entity framework.
desde já agradeço
abraços
Respostas
-
Sérginho,
Você pode utilizar o DataAnnotations, ou criar seus prórpios atributos de validação, segue exemplo:
Crie seu atributo de validação:
public class DataNascimentoAttribute : ValidationAttribute { public DataNascimentoAttribute(string campo) : base(String.Format("O valor do {0} precisa estar entre {1} e {2}", campo, DateTime.Now.AddYears(-18).ToShortDateString(), DateTime.Now.AddYears(-99).ToShortDateString())) { } public override bool IsValid(object value) { DateTime data = (DateTime)value; if (data < DateTime.Now.AddYears(-99) || data > DateTime.Now.AddYears(-18)) { return false; } else { return true; } } }
Agora decore a sua propriedade com esses atributos:
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)] [DataNascimentoAttribute("Data Nascimento")] public DateTime? DataNascimento { get; set; }
Att,
LeandroSe foi útil, marque como útil ou como resposta.
- Sugerido como Resposta Leandro Tozetto quarta-feira, 1 de maio de 2013 14:08
- Marcado como Resposta Sérginho Alves sábado, 25 de maio de 2013 20:59
Todas as Respostas
-
Olá Sérginho,
Não trabalho com EF, mas caso necessite de uma comparação via Code Behind, você poderia utilizar conforme exemplo:
//código para teste string strDataComparacao = "30/04/2012"; DateTime dtDataComparacao = DateTime.Parse(strDataComparacao, new CultureInfo("pt-BR")); //trabamento começa aqui DateTime dtAtual = DateTime.Today; bool dataValida = (dtDataComparacao >= dtAtual.AddYears(-99) && dtDataComparacao <= dtAtual.AddYears(-18));
- Sugerido como Resposta fernando silva 1Moderator terça-feira, 30 de abril de 2013 21:42
-
Sérginho,
Você pode utilizar o DataAnnotations, ou criar seus prórpios atributos de validação, segue exemplo:
Crie seu atributo de validação:
public class DataNascimentoAttribute : ValidationAttribute { public DataNascimentoAttribute(string campo) : base(String.Format("O valor do {0} precisa estar entre {1} e {2}", campo, DateTime.Now.AddYears(-18).ToShortDateString(), DateTime.Now.AddYears(-99).ToShortDateString())) { } public override bool IsValid(object value) { DateTime data = (DateTime)value; if (data < DateTime.Now.AddYears(-99) || data > DateTime.Now.AddYears(-18)) { return false; } else { return true; } } }
Agora decore a sua propriedade com esses atributos:
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)] [DataNascimentoAttribute("Data Nascimento")] public DateTime? DataNascimento { get; set; }
Att,
LeandroSe foi útil, marque como útil ou como resposta.
- Sugerido como Resposta Leandro Tozetto quarta-feira, 1 de maio de 2013 14:08
- Marcado como Resposta Sérginho Alves sábado, 25 de maio de 2013 20:59