2 回答

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
您正在尋找的約束是否可能是從相關(guān)實(shí)體中設(shè)置的?如果是這樣,則嘗試將驗(yàn)證從第一個(gè)實(shí)體傳遞到第二個(gè)實(shí)體。
這可以通過(guò)以下方式完成:
@Assert\Valid()
不要忘記使用它:
use Symfony\Component\Validator\Constraints as Assert;
class Contact
{
.....
/**
* @ORM\Column(type="string", length=255, nullable=true)
* @CustomAssert\PhoneNumber
*/
private $phoneNumber;
class Person
{
.....
/**
* @ORM\OneToOne(targetEntity="App\Entity\Contact")
* @Assert\Valid()
*/
private $contact;

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以嘗試 在您的類中實(shí)現(xiàn)該validateBy
方法。PhoneNumber
在正常情況下,您不需要這樣做,因?yàn)槟J(rèn)行為是查找以Validator
( 將是PhoneNumberValidator
) 為后綴的相同約束名稱。
另一個(gè)原因可能是validate
調(diào)用ValidatorInterface
. 也許您正在傳遞一些驗(yàn)證組(如果您可以在此處與我們分享該部分),在這種情況下,您需要在注釋中指定@CustomAssert\PhoneNumber(groups={"some_group"})
。
- 2 回答
- 0 關(guān)注
- 119 瀏覽
添加回答
舉報(bào)