1

私は 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 (つまり、文字列値) に間違った入力をすると、次のエラー コードが返されます: 「この値は無効です」ではなく、「整数ではありません

このカスタマイズされたエラー メッセージの解釈の誤りについて何か考えはありますか?

4

1 に答える 1

3

追加してみる

'invalid_message' => "Not an integer'

buildFormメソッドで。

于 2012-04-20T06:52:25.760 に答える