Fluent 验证 - 日期格式 yyyy-mm-dd

时间:2021-01-31 10:36:47

标签: c# datetime fluentvalidation

我已经搜索过,但似乎无法找到答案。我正在尝试验证具有日期时间属性的出生日期。

RuleFor(c => c.Customer.DateOfBirth).NotEmpty().WithMessage("DOB is required").Must(CanConvertToDateTime());

我正在尝试使用私有函数 - 这可能不是正确的方法,这就是为什么我要问我如何才能做到这一点。

    private bool CanConvertToDateTime(string val)
    {
        return DateTime.TryParse(val, out _);
    }

但是我不能让它工作。任何人都可以让我继续前进。我预期的规则是

  • DOB 不能为空
  • DOB 格式不正确,应为 yyyy-mm-dd 格式

请注意,我正在尝试使用 Fluent Validation Rule,而不是功能。

我尝试验证的类对象是复杂对象的一部分,但这里是一个简化版本。我希望我的日期采用 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; }
    }

0 个答案:

没有答案