1
私のフォームにあるすべてのものは、i18nを使って検証するだけですが、フォームの検証をどのように翻訳するのかわかりません。たとえば、今すぐ空のフィールドがあるフォームを送信しようとすると、「このフィールドに入力してください」というポップアップ検証メッセージが表示されます。Symfony 3でフォーム検証をどのように翻訳するのですか?
翻訳がオンになっていると注釈が有効になって:
// config_dev.yml
framework:
router:
resource: "%kernel.root_dir%/config/routing_dev.yml"
strict_requirements: true
profiler: { only_exceptions: false }
translator: { fallback: en }
validation: { enable_annotations: true }
エンティティが検証注釈のために装備されています
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
....
/**
* @var string
* @Assert\NotBlank(message = "Custom validation error message")
* @ORM\Column(name="url", type="string", length=512)
*/
private $url;
は、私も私のアプリ/リソース/翻訳でファイルvalidators.en.ymlを作成しましたここからどこに行くのかは分かりません。誰も助けることができますか?
あなたは、ブラウザからのメッセージを参照してください、あなたも、フォームを提出していません。これはHTML5検証メッセージですが、Symfonyには関係ありません。 – malcolm
@malcolmフォームを送信すると、メッセージが表示されます。次の答え.... – pogeybait
HTML5検証メッセージであるメッセージのツールチップが表示された場合。フォームが送信され、ページがリロードされた後にsymfonyの検証メッセージが表示されますが、あなたはもっとよく知っています...知っていれば、symfonyのnot_blankアサートのデフォルトメッセージは "この値は空白であってはいけません。あなたは「このフィールドに記入してください」と表示されます。ブラウザからのデフォルトのメッセージです。 – malcolm