小编kzr*_*rdt的帖子

Symfony使用映射的伪表单字段验证表单

我有与该选项添加额外的字段的表格mappedfalse.但是当我尝试验证我的表单时,它不会在这些特定表单字段上方传递指示"此值无效".这个选项不应该绕过验证吗?

这些表单字段仅用于填充其他字段,我不需要保存甚至检查它们.

我找到的唯一解决方案是在提交按钮单击时删除带有js的所有额外字段.

validation symfony-forms symfony

32
推荐指数
3
解决办法
4万
查看次数

Symfony2 UniqueConstraint和UniqueEntity(完整性违规)

几天后我对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)

entity doctrine unique unique-constraint symfony

7
推荐指数
2
解决办法
8457
查看次数