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