2016-08-08 18 views
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を作成しましたここからどこに行くのかは分かりません。誰も助けることができますか?

+2

あなたは、ブラウザからのメッセージを参照してください、あなたも、フォームを提出していません。これはHTML5検証メッセージですが、Symfonyには関係ありません。 – malcolm

+0

@malcolmフォームを送信すると、メッセージが表示されます。次の答え.... – pogeybait

+1

HTML5検証メッセージであるメッセージのツールチップが表示された場合。フォームが送信され、ページがリロードされた後にsymfonyの検証メッセージが表示されますが、あなたはもっとよく知っています...知っていれば、symfonyのnot_blankアサートのデフォルトメッセージは "この値は空白であってはいけません。あなたは「このフィールドに記入してください」と表示されます。ブラウザからのデフォルトのメッセージです。 – malcolm

答えて

関連する問題