У мене є особа з полем 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 вже є різні поля ...