此值不应为空

时间:2015-12-16 14:25:35

标签: forms symfony doctrine-orm

我知道这可能是一个菜鸟错误,但我浪费了很多时间。

我有一个用表单修改过的实体。这是我的实体:

class RetiroResiduo
{

    /**
    * @ORM\Id
    * @ORM\ManyToOne(targetEntity="GestionResiduos\SolicitudRetiroBundle\Entity\SolicitudRetiro")
    * @ORM\JoinColumn(name="numeroSolicitudRet_id", onDelete="CASCADE", referencedColumnName="numeroSolicitudRet")
    */

    protected $numeroSolicitudRet;

    /**
    * @ORM\Id
    * @ORM\ManyToOne(targetEntity="GestionResiduos\ResiduoBundle\Entity\Residuo")
    * @ORM\JoinColumn(name="siglaRepresentativa_id", onDelete="CASCADE",referencedColumnName="siglaRepresentativa")
    */

    protected $siglaRepresentativa;

    /**
    * @ORM\ManyToOne(targetEntity="GestionResiduos\ResiduoBundle\Entity\Contenedor")
    * @ORM\JoinColumn(name="nombreContenedor_id", onDelete="CASCADE", referencedColumnName="nombreContenedor")
    */
    protected $nombreContenedor;

        ...
    }

此实体以此表格处理:

<?php
// src/Gestionresiudos/SolicitudRetiroBundle/Form/SolicitudRetiroType.php

namespace Gestionresiduos\SolicitudRetiroBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;

class RetiroResiduoType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {

        $builder
            ->add('siglaRepresentativa')
            ->add('nombreContenedor')
            ->add('cantidadContenedores')
            ->add('peso')
            ->add('volumen')
            ->add('solicitar', 'submit')
            ->add('addotro', 'submit')
            ;

    }

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'Gestionresiduos\SolicitudRetiroBundle\Entity\RetiroResiduo',
            'cascade_validation' => true,
            ));
    }

    public function getName()
    {
        return 'retiroresiduo';
    }
}

我对我的控制器的动作如下:

public function RetirarResiduoAction($idsol, Request $request)
    {
        $numSolRetiro = $idsol;
        $residuoARetirar = new RetiroResiduo();
        //echo gettype($residuoARetirar);
        $formulario = $this->createForm(new RetiroResiduoType(), $residuoARetirar); 
        $formulario->handleRequest($request);

        if ($formulario->isValid()) 
        {
        ....
        }
    ...
}

这是我的表格:

{{ form_start(formulario, {'attr': {'class': 'form-horizontal'}})}}
        {{ form_errors(formulario)}}
        {{ form_rest(formulario) }}
        {{ form_end(formulario)}}

最后,我从错误中给你一个打印来给我的界面。

enter image description here

正如您所看到的,当我发送表单时,如果(formulario-&gt; isvalid())没有输入。显然,我选择了一个选项。我看到了类似的问题但不为我工作。我需要一些建议或帮助我解决这个bug的东西。

注意:我知道问题应该存在于我的实体中,但我仍然没有看到。 注2:我使用的是symfony2.3

0 个答案:

没有答案