/ / Симфонія 2: обмеження вчення у формах - php, symfony, doctrine2, образу

Symfony 2: обмеження доктрини у формах - php, symfony, doctrine2, entity

У мене є особа з полем url, ця сутність зберігається, щоб базу даних надсилали форму, засновану на тому самому об'єкті.

Я можу встановити обмеження для типу форми в validation.yml поряд із спеціальними повідомленнями, як-от NotBlank і Url. Це все добре. Але коли я намагаюся зберегти сутність, яка вже існує в БД, я отримую помилку, кажучи, що значення вже існує (url)

Як я можу встановити для цього спеціальне повідомлення UniqueEntity обмеження?

Я спробував додати UniqueEntity у validation.yml, але він знаходиться в іншому просторі імен, і я не можу зрозуміти, як він працює, або як його налаштувати. Це там за замовчуванням, couse url визначається як унікальне поле в початковій анотації сутності, але як змінити повідомлення про помилку ??

Відповіді:

2 для відповіді № 1

Я щойно знайшов рішення власної проблеми.

Усі перевірки можна визначити у validation.yml, але оскільки я використовую анотації для визначення моїх сутностей, краще помістити всі перевірки, повідомлення тощо у ці анотації.

Це було достатньо встановити @AssertNotBlank для незаповненого поля та @ORMUniqueEntity(message="my custom error") для унікальної перевірки.

Мені дуже шкода, що затопили сайт своїм запитанням, але сподіваюся, що хтось може виявити це корисним.

P.S .: Анотації або YML не мають значення, налаштування однакові. Я вважаю, що в моєму випадку це мало бути щось на кшталт:

NamespaceClass:
constraints:
- SymfonyBridgeDoctrineValidatorConstraintsUniqueEntity:
fields: url
message: "My custom message"

Це досить гнучко, думав, я не бачу, як ми могли б встановити різні повідомлення, якщо в db вже є різні поля ...