Свободная проверка — формат даты гггг-мм-ддC#

Место общения программистов C#
Anonymous
Свободная проверка — формат даты гггг-мм-дд

Сообщение Anonymous »

Я искал и не нашел ответа на этот вопрос. Я пытаюсь проверить дату рождения, имеющую свойство datetime.
RuleFor(c => c.Customer.DateOfBirth).NotEmpty().WithMessage("DOB is required").Must(CanConvertToDateTime());

Я пытаюсь использовать частную функцию — возможно, это неправильный способ, поэтому я спрашиваю, как это сделать.
private bool CanConvertToDateTime(string val)
{
return DateTime.TryParse(val, out _);
}

Но у меня не получается. Может ли кто-нибудь заставить меня двигаться дальше? Мои ожидаемые правила:
  • DOB не может быть нулевым
  • DOB имеет неправильный формат, ожидаемый формат гггг-мм -dd
Обратите внимание, что я пытаюсь заставить работать правило Fluent Validation, а не функцию.
Объект класса, который я пытаюсь проверить, является частью сложного объекта, но вот упрощенная версия. Я хочу, чтобы моя дата была в формате 2021-02-13, и она не будет работать для любых других комбинаций, или если это просто не дата.
public class Customer
{
public int Id { get; set; }
public string FirstName { get; set; }
public string Surname { get; set; }
public DateTime DateOfBirth { get; set; }
}


Подробнее здесь: https://stackoverflow.com/questions/659 ... yyyy-mm-dd

Вернуться в «C#»