Sonata Admin Bundle - 字符串验证

时间:2014-01-07 16:32:49

标签: string validation symfony bundle sonata-admin

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

如何构建验证,从一些不允许的条目中获取保证?

谢谢

1 个答案:

答案 0 :(得分:7)

您可以添加自定义回调验证程序,以验证所有情况下的字符串。

只需添加您的管理类:

/**
 * {@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.');
    }
}

希望它有所帮助。