У меня есть этот код в Entity:Symfony утверждают, игнорирует пользовательские сообщения
/**
* @Assert\Type(
* type="real",
* message="Price for vehicle service must be real number."
*)
*
* @ORM\Column(name="min_price", type="float")
*/
protected $minPrice;
Но если в этом поле формы вводится значение нецелочисленное, Symfony возвращает сообщение об ошибке локаль по умолчанию (в моем случае Значение недопустимо), а не «Цена за обслуживание автомобиля должна быть реальной цифрой». Это не удобно, потому что по ошибке не указано имя поля и требуется время, чтобы найти это поле, если есть сложная форма.
Возможно, решение может быть проверкой обратного вызова, но по моему субъективному мнению оно не появится, потому что пользователь может видеть только сообщение по умолчанию по умолчанию. Когда я пытался избежать этого, добавляя @Assert \ Regex (pattern = "/ + d /", message = "custom message"), я все равно видел сообщение по умолчанию для локали.
Symfony Profiler показывает ошибку ниже:
Symfony\Component\Validator\ConstraintViolation
Object(Symfony\Component\Form\Form).children[vehiclePriceOutOfTown].children[minPrice] = g
Caused by:
Symfony\Component\Form\Exception\TransformationFailedException
Unable to reverse value for property path "minPrice": Number parsing failed: U_PARSE_ERROR
Caused by:
Symfony\Component\Form\Exception\TransformationFailedException
Number parsing failed: U_PARSE_ERROR
спасибо, просто добавив 'invalid_message', как вы сказали, решил вопрос. –