Skip to content

Instantly share code, notes, and snippets.

@MirandinhaKL
Created July 3, 2019 16:14
Show Gist options
  • Save MirandinhaKL/26f2420582129b8386733c8a8e4874fc to your computer and use it in GitHub Desktop.
Save MirandinhaKL/26f2420582129b8386733c8a8e4874fc to your computer and use it in GitHub Desktop.
validacoes
/// <summary>
/// Verifica se a data informada pelo usuário é válida.
/// </summary>
/// <param name="data_a_validar_">Data a ser verificada.</param>
/// <returns>Verdadeiro se os dados estão validados.</returns>
public bool a_data_eh_valida(DateTime data_a_validar_)
{
DateTime data_a_validar = data_a_validar_.Date;
int dia = data_a_validar.Day;
int mes = data_a_validar.Month;
int ano = data_a_validar.Year;
bool mes_e_valido = false;
bool numeros_sao_validos = false;
// Valida o número dos dias, mês e ano.
if (dia >= 1 || dia <= 31 || mes >= 1 || mes <= 12 || ano >= 0000)
{
numeros_sao_validos = true;
}
// Valida meses com 31 dias.
if ((dia >= 1 && dia <= 31) && (mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12) && ano > 0)
{
mes_e_valido = true;
}
// Valida mesese com 30 dias.
if ((dia >= 1 && dia <= 30) && (mes == 4 || mes == 6 || mes == 9 || mes == 11) && (ano > 0))
{
mes_e_valido = true;
}
// Valida o mes de fevereiro.
if ((dia >= 1 && dia <= 28 && mes == 2 && ano > 0) && (ano % 400 == 00 || (ano % 4 == 0 && ano % 100 != 0)))
{
mes_e_valido = true;
}
// validacao final
if (numeros_sao_validos && mes_e_valido)
{
return true;
}
else
{
//MessageBox.Show("Por favor, informe uma data válida: dd/mm/aaaa.", "Atenção!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return false;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment