2012-05-08 6 views
1

私はsymfony2を使用していますが、入力フィールドがあります。数字を入力する人が必要ですが、検証に問題があります。symfony2 HTML5整数入力とバリデーター

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

$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で、タイプ * .phpのファイルを試してみました

が矢印

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

せずに表示され、私はそのように動作しますが、私はそれを行う場合、検証エラー「あなたは数字を書かなければなりません」ということは、数字を書いているかどうかにかかわらず(常にエラーを表示すべきではありません)常に表示されます。

私が欲しいのは、ユーザーが数字を書くことができる入力フィールドです。私はそれを検証したいと思います。

番号だけを示すことを示すためにREGEXの検証を使用する必要がありますか?

答えて

0

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

/** 
* @Assert\Min(limit = 0) 
*/ 
private $myVar; 
0
$metadata->addPropertyConstraint('Identification', new Type(array('message' => 'You must write a number', 'type' => 'digit'))); 
関連する問題