2012-05-08 94 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')));