2016-07-15 12 views
-1

symfonyで検証のためのカスタムメッセージを注釈で設定しようとしています。symfonyの検証でメッセージが表示されない

これは私が持っているものです...

エンティティで

config.yml

validation:  { enabled: true, enable_annotations: true } 

...

/** 
* @ORM\Column(type="string") 
* @Assert\Length(
*  min = 5, 
*  max = 6, 
*  minMessage = "Your first name must be at least {{ limit }} characters long", 
*  maxMessage = "Your first name cannot be longer than {{ limit }} characters" 
*) 
*/ 
private $nombre; 

だから私は入力を充填することによってminMessageを発射しよう1文字のみです。 minMessageを表示するはずですが、エンティティ内に注釈を持たないフィールドであっても、すべてのフィールドについて同じメッセージ(下の画像)を表示します。

enter image description here

私が間違って何をしているのですか?

答えて

2

定義するこれらの検証は、サーバー側の検証のみです。スクリーンショットに表示されるメッセージは、ブラウザによって引き起こされるhtml5検証メッセージです。私は、私は推測しているので、どのようなスペイン語を知らない

<input type="something" required="required" name="..."> 

はあなたがレンダリングされたフィールドの型がテキストではなく、メッセージが入力された値が正しくない形式であることを示していますです。 i.E.数値型フィールドのテキスト。 (または多分、この場合には、フィールドのMINLENGTH属性が設定されている)

フォーム

{{ form_start(form, {'attr': {'novalidate': 'novalidate'} }) }} 

のようなこの

<form novalidate="novalidate" .....> 

や小枝の構文を使用してみてください、その後、HTML5のためのHTML5の検証を無効にするには検証によってフォームの送信が妨げられなくなり、バックエンドの検証が始まります。

+0

ありがとうございます!できます!! :) – jmunozco

関連する問題