使用Symfony 3.4,当输入字段与正则表达式不匹配时,我不想更新并得到正确的错误。
这是我在实体内的电话字段
/**
* @var string
*
* @ORM\Column(name="phone", type="string", length=20, unique=true, nullable=false)
* @Assert\NotBlank(message="Phone is required.")
* @Assert\Regex(
* pattern=Presenter::PHONE_REGEX,
* message="Not a valid phone number"
* )
*/
private $phone;
我尝试在$phone
内设置setPhone($phone)
时捕获错误,如下所示
/**
* Set phone
*
* @param string $phone
*
* @return Worker
*/
public function setPhone($phone)
{
if (preg_match(Presenter::PHONE_REGEX, $phone))
$this->phone = $phone;
return $this;
}
并且我收到“需要电话”消息,而不是“不是有效的电话号码”(因为在WorkerType中需要电话)。>>
我搜索过google,发现github上的一个线程没有得到最终结果。我确实需要有关如何正确阻止实体更新并为其获取正确错误的帮助。
使用Symfony 3.4,当输入字段与正则表达式不匹配时,我不想更新并得到正确的错误。这是我的实体/ ** * @var字符串* * @ORM \ Column(...
通过PRE_SUBMIT事件在电话的WorkerType字段中添加'mapped' => false
参数。