Я не использовал инструмент автоматической генерации CRUD, но я знаю, что по умолчанию каждое поле обязательно для заполнения. Вы должны явно указать 'required' => false
в качестве опции для своих полей.
Это можно сделать в форме классов
namespace Acme\DemoBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
class FooType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('field', 'text', array('required' => false));
}
public function getName()
{
return 'foo';
}
}
То же самое может быть достигнуто в классе Form, созданном внутри вашего контроллера
namespace Acme\DemoBundle\Controller;
use Acme\DemoBundle\Entity\Foo;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
class DefaultController extends Controller
{
public function newAction(Request $request)
{
// ...
$form = $this->createFormBuilder($foo)
->add('field', 'text', array('required' => false)
->getForm();
// ...
return $this->render('AcmeDemoBundle:Default:new.html.twig', array(
'form' => $form->createView(),
));
}
}