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
Объект класса, который я пытаюсь проверить, является частью сложного объекта, но вот упрощенная версия. Я хочу, чтобы моя дата была в формате 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