Custom Validators

public class PasswordValidator : IValidationRule<string>
{
    public Result<string> Validate(string value) =>
        value.Length >= 8
            ? Result<string>.Ok(value)
            : Result<string>.Fail(new ValidationError("Password must be at least 8 characters"));
}

var validator = Validator.Create<RegisterRequest>()
    .Rule(r => r.Password, new PasswordValidator());