Search code examples
asp.netasp.net-mvcfluentvalidation

Fluent Validation for if string not null then check is valid email


I am using fluent validation library for my asp.net mvc5 project . my requirement is if user input email then if validate valid email address otherwise its not validate it is valid email address or not


Solution

  • You can simply do as follows with Fluent Validation method chaining:

    RuleFor(s => s.Email).NotEmpty().WithMessage("Email address is required")
                         .EmailAddress().WithMessage("Your email address is not valid");
    

    If your email field is not required then validate as follows:

    RuleFor(s => s.Email).EmailAddress().WithMessage("Your email address is not valid");
    

    try this, If your email field is not required then validate Email Address:

    RuleFor(e => e.Email).EmailAddress().When(x => !string.IsNullOrEmpty(x.Email)).WithMessage("Your email address is not valid");