1

私は symfony2 を使用しており、入力フィールドがあります。数値を入力する必要がありますが、検証に問題があります。

私はこのコードでフィールドを検証しています:

$metadata->addPropertyConstraint('Identification', new NotBlank(array('message' => 'Write something in identification field, cannot be blank.')));
$metadata->addPropertyConstraint('Identification', new Type(array('message' => 'You must write a number', 'type' => 'integer'))); 
$metadata->addPropertyConstraint('Identification', new MinLength(array('message' => '5 digits, minimun', 'limit' => 5))); 

まず、フィールドの横に表示される矢印を削除するにはどうすればよいですか? (HTML5 機能)。私はそれらがまったく好きではなく、ユーザーが入力フィールドに入力しなければならない数字が 500000 を超えているため、ユーザーがこの煩わしい (この場合は) 矢印を使用しないと確信しています。

MyEntity* Type *.php ファイルで、「テキスト」という単語を追加して、矢印なしでフィールドを表示しようとしました

->add('identification','text')

私はそのように動作しますが、それを行うと、数値を書いているかどうかに関係なく、検証エラー「数値を書く必要があります」が常に表示されます(エラーは表示されません)。

私が欲しいのは、ユーザーが数字を書き込める入力フィールドであり、それを検証したいと考えています。

数値のみが必要であることを示すために、REGEX 検証のみを使用する必要がありますか?

4

2 に答える 2

0

Symfony2 形式で整数を検証する最も簡単な方法は、最小制約を追加することです。そうすれば、入力は整数に変換され、検証されます。

/**
 * @Assert\Min(limit = 0)
 */
private $myVar;
于 2012-06-18T08:12:09.193 に答える
0
$metadata->addPropertyConstraint('Identification', new Type(array('message' => 'You must write a number', 'type' => 'digit')));
于 2014-05-20T09:20:41.490 に答える