繁体   English   中英

如何根据Fluent验证中的字符串列表验证字符串?

[英]How to Validating a string against a list of strings in Fluent validation?

我有一个电子邮件地址字段,客户端验证不允许使用tempmailder.com或dispostable.com这样的临时域名。

在服务器端,我使用了流畅的验证来指定验证规则。

web.config文件中不允许的临时域为逗号分隔的字符串。

有没有一种方法可以指定验证用户输入的值对不允许的电子邮件域列表。

RuleFor(x=>x.EMail). and something 

谢谢

好吧,你可以实现这样的事情:

public class MyObjValidator : AbstractValidator<MyObj> {
        public MyObjValidator()
        {
            // Other rules for my object
            // .
            // .
            RuleFor(o => o.Email)
                .NotEmpty()
                .Must(BeNonBannedDomain)
                .WithMessage("Please specify a valid email address");
        }

        private bool BeNonBannedDomain(string email)
        {
            var domainName = GetDomainName(email); // a method to extract the dmain name from the email
            return !someListOfBannedDomains.Contains(domainName); // a list of all the banned domains that I need to check against.
        }
    }

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM