我有两个选择领域,一个取决于另一个.
构建表单时,依赖字段有一个空选择的数组.
然后我在JavaScript中填写此字段,请求操作中的某些数据.
问题来自验证.当然它没有通过,因为单值或多值不能对空值有效.为了解决这个问题,我创建了一个PRE_BIND
基本上删除的监听器,然后使用正确的值重新创建选择字段,但它仍然没有通过验证.
$form->getErrors()
什么都不返回,但$form->getErrorsAsString()
在我的选择字段上返回错误.
我的表格:
<?php
namespace Foo\BarBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class BarFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
// other fields
// This field is filled in ajax
$builder->add('stores', 'choice', array(
'label' => 'form.label.stores',
'translation_domain' => 'FooBarBundle',
'choices' => $options['storesList'],
'required' => false,
'multiple' => true,
'auto_initialize' => false,
'attr' => array(
'class' => 'chzn-select',
'placeholder' => 'form.placeholder.stores'
)));
$func = function …
Run Code Online (Sandbox Code Playgroud) 是否可以使用Play重现Java EE架构?通过Java EE我的意思是这4层:视图,控制器,服务,模型.
我知道play只使用基于MVC的更好的架构,我喜欢这个,但是我必须使用Java EE架构来完成特定的项目,并且我想使用Play,因为从我的角度来看它是最好的Java框架.