我有与该选项添加额外的字段的表格mapped来false.但是当我尝试验证我的表单时,它不会在这些特定表单字段上方传递指示"此值无效".这个选项不应该绕过验证吗?
这些表单字段仅用于填充其他字段,我不需要保存甚至检查它们.
我找到的唯一解决方案是在提交按钮单击时删除带有js的所有额外字段.
几天后我对Doctrine实体有一点问题.我在两个字段上使用UniqueConstraint定义了它,之后在这两个字段上进行了UniqueEntity验证.但是在通过添加已经在base中的实体来验证我的表单之后,无法在我的表单中获取我的错误消息.
只是来自Symfony的错误消息:
SQLSTATE [23000]:完整性约束违规:1062重复条目'339057986-00012'用于键'SIRET'
这是我的实体声明,对我来说似乎都很好,但也许我忘了或误解了什么?
<?php
namespace Proetco\FrontBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Validator\Constraints as Assert;
/**
* Proetco\FrontBundle\Entity\Entreprise
*
* @ORM\Table(name="entreprise", uniqueConstraints={@ORM\UniqueConstraint(name="SIRET", columns={"SIREN", "NIC"})})
* @ORM\Entity(repositoryClass="Proetco\FrontBundle\Entity\EntrepriseRepository")
* @UniqueEntity(fields={"SIREN","NIC"}, message="Cette entreprise est déjà enregistrée")
*/
class Entreprise {
protected $Siret;
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string $SIREN
*
* @ORM\Column(name="SIREN", type="string", length=9)
*/
private $SIREN;
/**
* @var string $NIC
*
* @ORM\Column(name="NIC", type="string", …Run Code Online (Sandbox Code Playgroud)