当前位置: 首页 > 知识库问答 >
问题:

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

公孙英飙
2023-03-14

我有一个电子邮件地址字段,其中有一个客户端验证,不允许几个临时域,如tempmailder.com或dispostable.com.

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

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

我是否可以指定一种方法来验证用户根据不允许的电子邮件域列表输入的值。

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

谢啦

共有1个答案

曹铭晨
2023-03-14

那么,您可以实现如下内容:

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.
        }
    }

希望这能有所帮助。

 类似资料:
  • 我将MVC3视图模型定义为: 使用FluentValidation(v3.3.1.0)将验证定义为: 账户验证可能被定义为: 我希望列表中的每个帐户按照留档中的描述进行验证。但是,调用不起作用,因为在使用

  • 问题内容: 我很难找到最简单的方法来针对给定的JSON模式字符串验证JSON字符串(作为参考,这是在Java中运行在Android应用程序中)。 理想情况下,我只想传入JSON字符串和JSON模式字符串,并且它返回关于是否通过验证的布尔值。通过搜索,我发现了以下两个有前途的库可以完成此任务: http://jsontools.berlios.de/ https://github.com/fge/j

  • 问题内容: Bellow方法正在验证字符串是否为正确的IPv4地址,如果有效,则返回true。regex和优雅的任何改进将不胜感激: 问题答案: 这是一种易于阅读,效率稍低的方法。

  • @target(value={METHOD,FIELD,ANNOTATION_TYPE,CONSTRUCTOR,PARAMETER})@retention(value=runtime)@documented@constraint(validatedby={})public@interface Min 带注释的元素必须是一个数值,该数值必须大于或等于指定的最小值。 支持的类型有: 注意,由于舍入错误

  • 主要内容:JSF验证字符串长度实例标签用于验证字符串值的长度。我们可以使用标签,如下所示。 JSF验证字符串长度实例 打开 NetBeans IDE 创建一个Web工程:ValidateStringLength,其目录结构如下所示 - 创建以下文件代码,文件:index.xhtml 的代码内容如下所示 - 文件:result.xhtml 的代码内容如下所示 - 文件:User.java 的代码内容如下所示 - 右键运行工程:Val

  • 问题内容: 跟进正则表达式以匹配主机名或IP地址? 并使用对有效主机名的限制作为参考,在Python中匹配/验证主机名/ fqdn(完全限定域名)的最易读,简洁的方法是什么?我在下面的尝试中已经回答过,欢迎改进。 问题答案: import re def is_valid_hostname(hostname): if len(hostname) > 255: return False if host