【问题标题】:Symfony / Constrains & Validators on forms (email constrain)Symfony / 表单上的约束和验证器(电子邮件约束)
【发布时间】:2018-02-07 00:35:27
【问题描述】:

是否可以使用 Symfony (http://symfony.com/doc/current/validation/custom_constraint.html) 的“自定义验证约束”创建自定义电子邮件约束验证器(如 @domain.com),但不使用实体类中的约束?

我在 symfony 中有一个多租户站点,并且每个客户端都有不同的 formsTypes。一位客户需要只能建立 X 个电子邮件域。在这种情况下,我不能像这样在实体类中使用约束:

class MyEntity
{
    /**
     * @Assert\Email()
     * @CustomAssert\EmailDomain(domains = {"yahoo.com", "gmail.com"})
     */
    protected $email;

有什么不同的想法吗?

【问题讨论】:

  • 有什么问题或错误!
  • 你试过了吗?你只需要创建一个验证器并直接在表单上使用它,而不是在实体上
  • @ t-n-y 我该怎么做? (创建一个验证器并直接在表单上使用)

标签: symfony validation constraints formbuilder


【解决方案1】:

是的,custom annotation 可以在任何课程上工作,当您调用 $validator->validate($yourClassInstantiated) 时将使用它们

如果您想要动态数据(例如取决于您的客户端的域),您可以在 ConstraintValidator 类中使用教义。

【讨论】:

  • 仅链接的答案往往被否决。特别是当链接实际上在问题中并且与问题无关时。
猜你喜欢
  • 2011-10-19
  • 2014-04-11
  • 1970-01-01
  • 2017-03-10
  • 2015-03-24
  • 1970-01-01
  • 2012-08-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多