Validation 复杂电子邮件地址验证

Validation 复杂电子邮件地址验证,validation,Validation,我需要验证一个电子邮件地址,该地址将被传输到几个可能的州和联邦机构,如果电子邮件地址不符合其验证要求,每个机构可能会拒绝整个表格。(有些人拒绝完全有效的字符,而有些人根本不验证,还有一些人甚至不支持电子邮件地址字段) 我的选择是: 创建一个非常严格的单地址验证程序 为主条目创建一个非常松散的验证器,然后在发送每个表单之前,根据需要为每个机构使用自定义验证器重新验证 我没想到的事 我倾向于第二种,尽管这意味着更多的工作,因为它不会强迫用户创建额外的电子邮件帐户,除非某个特定机构拒绝接受他们的正常帐

我需要验证一个电子邮件地址,该地址将被传输到几个可能的州和联邦机构,如果电子邮件地址不符合其验证要求,每个机构可能会拒绝整个表格。(有些人拒绝完全有效的字符,而有些人根本不验证,还有一些人甚至不支持电子邮件地址字段)

我的选择是:

  • 创建一个非常严格的单地址验证程序
  • 为主条目创建一个非常松散的验证器,然后在发送每个表单之前,根据需要为每个机构使用自定义验证器重新验证
  • 我没想到的事
  • 我倾向于第二种,尽管这意味着更多的工作,因为它不会强迫用户创建额外的电子邮件帐户,除非某个特定机构拒绝接受他们的正常帐户


    我知道这确实是代理商的问题,如果他们拒绝一个完全合法的电子邮件地址,但修复此类问题的请求需要一段时间才能得到答复,当出现问题时,客户不会责怪代理商,而是责怪软件。(即使是他们自己的印刷错误)

    我也更喜欢第二个,因为如果某个机构更改了其验证要求,修改代码就更容易了


    此外,添加新的代理非常容易。

    我更喜欢第二个,因为如果代理更改其验证要求,修改代码就更容易了


    此外,添加新的代理机构非常容易。

    第二个选择是明确的选择:一个巨大的验证器(无论是代码、正则表达式、基于规则的验证器,还是其他什么)将是一个需要支持和扩展的噩梦。此外,由于它违反了s和O,因此减少了20%。

    第二个选项是确定的选择:一个巨大的验证器(无论是代码、正则表达式、基于规则的验证器,还是其他什么)将是支持和扩展的噩梦。此外,由于它违反了s和O,因此减少了20%。

    我肯定会选择第二个选项。有一个非常通用的验证器进行初始检查。然后为每个机构提供更小、独立的验证器。前期工作更多,但维护更容易。正如矛盾修饰法所说,如果某个机构更改了其有效的电子邮件要求,那么您只需更改一个验证器。添加新机构或删除机构也很简单。它基于低耦合、高内聚的原则工作。

    我肯定会选择第二个选项。有一个非常通用的验证器进行初始检查。然后为每个机构提供更小、独立的验证器。前期工作更多,但维护更容易。正如矛盾修饰法所说,如果某个机构更改了其有效的电子邮件要求,那么您只需更改一个验证器。添加新机构或删除机构也很简单。它以低耦合、高内聚的原则工作