いくつかのフィールドを持つエンティティがあります。そのうちの 1 つは、フォームの送信後に次のように検証されています。
/**
* @var integer $anzahl
*
* @ORM\Column(name="anzahl", type="integer")
* @Assert\NotBlank(message="Bitte geben Sie eine Kistenanzahl an.")
* @Assert\Type(type="numeric", message="Die Kistenanzahl muss eine Zahl sein.")
* @Assert\Min(limit="1", message="Sie müssen mindestens eine Kiste suchen oder anbieten.")
*/
private $anzahl;
このソリューションには 2 つの問題があります。
ゼロより大きい整数値のみを受け入れます。ただし、float/double もこの検証で受け入れられています。ただし、入力なしに変更@Assert\Type(type="numeric")
すると@Assert\Type(type="integer")
、true として検証されます。入力が整数値であることを検証するにはどうすればよいですか?
もう 1 つの問題は、明らかに無効な値 (文字列など) を入力した後、タイプ検証のドイツ語のエラー メッセージだけでなく、「この値は有効な数値である必要があります」という英語のメッセージも表示されることです。このメッセージはどこから来て、どうすれば取り除くことができますか?