我有一個包含需要整數的字段的表單。這是形式的實體類型定義的字段定義:Assert Type在Symfony2表單驗證中不起作用
/**
* @ORM\Column(type="integer", nullable=true)
* @Assert\Type(type="integer", message="Number of pieces must be a number.")
* @Assert\GreaterThanOrEqual(value=1, message="Number of pieces cannot be lower than 1.")
*/
protected $numberOfPiecesSent;
相關表單生成器看起來像這樣:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('numberOfPiecesSent', 'integer', array('label' => 'Number of pieces sent:', 'required' => false));
}
當我提交表單與該領域的非數值(比如,'aaa'),它只是保存表單並將字段numberOfPiecesSent NULL留在數據庫中,而不是驗證失敗。我也試圖讓這個字段非NULL,但這沒有幫助。任何想法,爲什麼這不起作用,請?
你可以嘗試[regex](http://symfony.com/doc/current/reference/constraints/Regex.html) – BentCoder
令人驚訝的是,即使正則表達式的作品。這很奇怪,因爲GreaterThanOrEqual()聲明有效,所以一般來說,我的聲明確實有效。 – pkout
簽出下面的答案。 – BentCoder