当前位置:   PHP > 正文

如何在奏鸣曲管理员中显示自定义错误

php,symfony,sonata-admin,css,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人员工具,站长工具

我有MenuBundle,我想在奏鸣曲管理员中显示我的自定义错误。

管理员: MenuAdmin.php

/**
 * {@inheritdoc}
 */
public function validate( ErrorElement $errorElement, $object ) {
    //
    if ( $object->getEnabled() == false && $object->getMenuType() == 'header' ) {
        $custom_error = 'Header menu cannot be disabled, please mark enabled to checked.';
        $errorElement->with( 'enabled' )->addViolation( $custom_error )->end();
    }
}

FormMapper in admin

protected function configureFormFields( FormMapper $formMapper ) {
        $formMapper
            ->add( 'title' )
            ->add( 'menuType', 'choice', array(
                'choices'  => array(
                    'header'        => 'Header',
                    'footer_left'   => 'Footer Left',
                    'footer_right'  => 'Footer Right',
                    'footer_bottom' => 'Footer Bottom'
                ),
                'expanded' => true,
                'multiple' => false
            ) )
            ->add( 'enabled' );
    }

验证工作正常,但未出现自定义错误。



1> Noman..:

解决方案1:具有ErrorElement

只需error_bubbling => true在现场使用。

解决方案#1的注意事项:不要忘记use在admin中添加以下验证程序服务。

使用Sonata \ AdminBundle \ Validator \ ErrorElement;

解决方案2:使用Sonata-闪烁消息

我已经通过使用奏鸣曲做到了-FLASH MESSAGES

$formMapper->add( 'enabled', null, array(
                'error_bubbling' => true
            ) );

菜单管理

/**
     * {@inheritdoc}
     */
    public function validate( ErrorElement $errorElement, $object ) {
        //
        if ( $object->getEnabled() == false && $object->getMenuType() == 'header' ) {
            $error = 'Header menu cannot be disabled, please mark enabled to checked.';
            $errorElement->with( 'enabled' )->addViolation($error)->end();
            $this->getRequest()->getSession()->getFlashBag()->add( "menu_type_check", $error );
        }

    }

YML

路径:YourBundle \ Resources \ config \ admin.yml

sonata_core:
    flashmessage:
        error:
            #css_class: error_msg # optionally, a CSS class can be defined
            types:
                - { type: menu_type_check, domain: YourBundle }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/PHP/detail/2285
推荐阅读
  • 如何解决《PHPMySQL在预准备语句中围绕匿名变量抛出错误》经验,为你挑选了1个好方法。php,mysql,prepared-statement,sql,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析... [详细]

  • 如何解决《yii2pdf一代无法正常工作》经验,为你挑选了1个好方法。php,pdf,mpdf,yii2,html,css,bootstrap,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成... [详细]

  • 如何解决《Laravel5.2验证错误》经验,为你挑选了2个好方法。laravel,laravel-validation,laravel-5.2,vagrant,php,csrf,go,DevBox,在线流程图,编程,编程问答,程序员,开发... [详细]

  • 如何解决《PHP-5.6编译tokenizer错误Ubuntu14.04》经验,为你挑选了0个好方法。php,ubuntu,compiler-errors,compilation,git,https,sql,xml,mysql,nginx,... [详细]

  • 如何解决《在WordPress中编译的PHP7缺少mysql扩展》经验,为你挑选了3个好方法。php,mysql,wordpress,sql,注入,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码... [详细]

  • 如何解决《缺少PHP包括(.h)》经验,为你挑选了1个好方法。php,header-files,php-extension,mongodb,ubuntu,perl,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,js... [详细]

  • 如何解决《如何使用javascript设置会话var并通过php代码获取它》经验,为你挑选了1个好方法。javascript,php,session,laravel,laravel-5,DevBox,在线流程图,编程,编程问答,程序员,开发... [详细]

  • 如何解决《"使用PDO和MSSQL,活动结果不包含任何字段"》经验,为你挑选了4个好方法。php,sql-server,pdo,sql,vim,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,js... [详细]

  • 如何解决《PHP将单引号添加到逗号分隔列表中》经验,为你挑选了1个好方法。php,arrays,string,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前... [详细]

  • 如何解决《新的APCuAPC用户缓存是否在进程之间共享?》经验,为你挑选了1个好方法。php,apache,caching,apc,apache2,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码... [详细]

  • 如何解决《致命错误:调用未定义的函数get_header()》经验,为你挑选了1个好方法。php,wordpress,header,function,undefined,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具... [详细]

  • 如何解决《Laravel5.1-barryvdh/laravel-dompdf,PDF文件下载无法正常工作》经验,为你挑选了0个好方法。php,dompdf,laravel,html,DevBox,在线流程图,编程,编程问答,程序员,开发者... [详细]

  • 如何解决《WooCommerce:[woocommerce_checkout]短代码显示结帐表格,但不显示付款方式》经验,为你挑选了0个好方法。woocommerce,ajax,php,DevBox,在线流程图,编程,编程问答,程序员,开发... [详细]

  • 如何解决《如何优化1000个MySQL查询?》经验,为你挑选了1个好方法。php,mysql,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发... [详细]

  • 如何解决《Lumen(Laravel)Eloquentphp工匠制作:模型没有定义》经验,为你挑选了2个好方法。php,lumen,laravel-5.1,bootstrap,https,git,json,DevBox,在线流程图,编程,编... [详细]

  • 如何解决《Laravel5.2Auth无法正常工作》经验,为你挑选了1个好方法。php,authentication,laravel,laravel-5,laravel-5.2,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,... [详细]

  • 如何解决《无法定位元素的最后一个子元素》经验,为你挑选了1个好方法。css,php,wordpress,css-selectors,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时... [详细]

  • 如何解决《使用sha1(md5($password))是否安全,是否有任何区别?》经验,为你挑选了1个好方法。php,hash,安全,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix... [详细]

  • 如何解决《PHP工作日和月份的翻译》经验,为你挑选了1个好方法。php,for-loop,date,momentjs,git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,... [详细]

  • 如何解决《使用phpheader()函数将非www重定向到www》经验,为你挑选了1个好方法。php,https,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具... [详细]

相关标签
  

闽ICP备14008679号