【发布时间】:2015-12-30 10:16:24
【问题描述】:
我有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' );
}
验证工作正常,但没有出现自定义错误。
【问题讨论】:
-
已经检测到错误,这就是复选框设置为红色的原因,如果您将鼠标聚焦在已启用标签上,是否会显示您的错误?你能用探查器看到有没有其他错误?
-
是的,鼠标悬停时会显示自定义错误,但我想设置错误来代替红色条。但分析器没有任何其他错误。
标签: php symfony sonata-admin