【问题标题】:Sonata Admin Bundle - String ValidationSonata Admin Bundle - 字符串验证
【发布时间】:2014-01-07 16:32:48
【问题描述】:

我的 Sonata Admin Bundle 中有一些表格,一些字段设置为“required = true”。 现在,您可以使用空字符串来规避此要求,例如与空间。 它甚至适用于整数类型..

我怎样才能建立一个验证,以防止一些不允许的条目?

谢谢

【问题讨论】:

  • 这很简单,你可以在docs找到它,请阅读它。

标签: string validation symfony bundle sonata-admin


【解决方案1】:

您可以添加自定义回调验证器来验证您想要的所有情况下的字符串。

只需添加您的管理类:

/**
 * {@inheritdoc}
 */
public function validate(ErrorElement $errorElement, $object)
{
    $errorElement
        ->assertCallback(array('validateMyEntity'))
    ;
}

在您的实体中:

use Symfony\Component\Validator\ExecutionContext;

/**
 * Validates my entity and throw violations
 */
public function validateMyEntity(ExecutionContext $context)
{
    $title = $this->getTitle();

    if (empty($title)) {
        $context->addViolation('Title can\'t be empty.');
    }
}

希望对你有帮助。

【讨论】:

  • 在 symfony 2.5+ 和 sonata 2.2+ 中使用 ExecutionContextInterface 而不是 ExecutionContext
猜你喜欢
  • 2016-06-25
  • 2016-09-03
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 2016-04-20
  • 1970-01-01
  • 1970-01-01
  • 2016-10-11
相关资源
最近更新 更多