私は Symfony2 の研究を続けており、新しい「問題」が見つかりました!
問題を説明しましょう。Doctrine Entityでフォームを構築するクラスがあります。これは、公式ドキュメントのこのページに記載されている登録フォームの例と同じです。唯一の違いは、MongoDB の代わりに Doctrine を使用していることです。
ここで、次のフィールドを User クラスに追加しました
/**
* @Assert\Type(type="integer", message="Not an integer.")
* @ORM\Column(type="smallint", name="num")
*
* @var Smallint $num
*
*/
protected $num;
次に、次の行を追加して、クラスUserTypeの関数buildFormを更新しました。
public function buildForm(FormBuilder $builder, array $options)
{
...
$builder->add('num', 'integer', array(
'label' => 'Insert a number',
));
}
これが問題です。Annotation を介してカスタム メッセージを提供しているにもかかわらず、フィールドnum (つまり、文字列値) に間違った入力をすると、次のエラー コードが返されます: 「この値は無効です」ではなく、「整数ではありません」
このカスタマイズされたエラー メッセージの解釈の誤りについて何か考えはありますか?