【问题标题】:Symfony2 + Sonata custom validation constraint CSSSymfony2 + Sonata 自定义验证约束 CSS
【发布时间】:2015-02-13 09:00:59
【问题描述】:

我在一个小项目中使用 Symfony2 2.5.2 以及 Sonata Admin Bundle。

对于我使用 Sonata 生成 CRUD UI 的实体之一,我需要根据 Symfony2 食谱创建的自定义验证规则。

我的问题是:似乎对于使用此自定义约束验证的字段,错误 CSS 未应用。当我执行 addViolation("message") 时,“消息”被添加到显示的错误列表中,但是虽然使用经典验证器验证的字段应用了错误 CSS 类,但使用我的自定义约束验证的字段没有视觉样式。

任何人都可以建议可能有什么问题吗?我在这里没有找到类似的主题。对我来说,就验证而言,一切似乎都很好。

谢谢!

【问题讨论】:

    标签: css validation symfony sonata-admin


    【解决方案1】:

    您可以为自定义验证创建回调,定义错误消息并将其保存到“sonata_flash_error”中,这应该可以。

    $formMapper
        ->with('form.group_general')
        ->add('parent', 'doctrine_phpcr_odm_tree', 
            array(
                'constraints' => array(new Assert\Callback(array(array($this, 'validateParent')))
            )
    ));
    
    public function validateParent($event, ExecutionContextInterface $context){
        $user = $this->getCurrentUser();
        if (!$user->hasRole('ROLE_SONATA_ADMIN')){
            $errorMessage = 'You are not allowed to change this value';
            $context->buildViolation($errorMessage)
                    ->addViolation();
            $this->addFlash('sonata_flash_error', $errorMessage);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-11-15
      • 1970-01-01
      • 2018-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多