Php 如何在提交之前预先检查不同sql表中的表单值-symfony

Php 如何在提交之前预先检查不同sql表中的表单值-symfony,php,mysql,symfony,Php,Mysql,Symfony,我有一份登记表,上面有客户编号,然后是姓名、地址、电子邮件和密码。 客户机编号与表单的其他部分不在同一个sql表中,它已经预定义,一旦用户提交表单,我需要在sql表中预先检查客户机编号(如果用户输入了给定的客户机编号之一)。 此后,用户注册并收到确认电子邮件。 我的解决方案是将它分为两种形式,因为要使它在一种形式下工作是相当棘手的,有人有更好的想法吗? 下面是User.php中的一段代码摘录 class User extends BaseUser{ /** * @ORM\Id

我有一份登记表,上面有客户编号,然后是姓名、地址、电子邮件和密码。 客户机编号与表单的其他部分不在同一个sql表中,它已经预定义,一旦用户提交表单,我需要在sql表中预先检查客户机编号(如果用户输入了给定的客户机编号之一)。 此后,用户注册并收到确认电子邮件。 我的解决方案是将它分为两种形式,因为要使它在一种形式下工作是相当棘手的,有人有更好的想法吗? 下面是User.php中的一段代码摘录

class User extends BaseUser{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;
/**
     * @ORM\Column(type="string", length=50)
     *
     * @Assert\NotBlank(message="type in your name.", groups={"Registration", "Profile"})
     *     groups={"Registration", "Profile"}
     * 
     */
    public $name;
/**
     * @ORM\Column(type="integer", length=50)
     *
     * @Assert\NotBlank(message="enter your client number.", groups={"Registration", "Profile"})
     *     groups={"Registration", "Profile"}
     * 
     */
    public $clientnumber;
    /**
    * @ORM\Column(type="integer", length=11)
     */

clientnumber不属于表单注册,因为它位于不同的sql表中,但在最终插入之前需要检查它,在抽象层中,我只能与一个sql表关联。

您可以在用户实体中使用onPrePersist方法

使用FLOWING更新用户实体的条令orm文件

<lifecycle-callbacks>
   <lifecycle-callback type="prePersist" method="prePersist" />
</lifecycle-callbacks>

我的问题实际上是关于如何在最终提交之前检查sql表中的一个值,在最终提交之前通过
检查你指的是ajax还是序列验证?它是通过ajax提交的,它提交了所有的值,我仍然不知道如何预先检查客户端号,如果它存在于另一个表中,因为其他元素属于另一个表,直接插入其中,这在symfony的配置中实现起来相当棘手
/**
 * @PrePersist
 */
public function onPrePersist()
{
    // verify the client number value from whatsoever entity here.
}