Symfony2 HTML5整数输入和验证器

时间:2012-05-08 18:04:10

标签: html5 validation symfony integer

我正在使用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文件中,添加“text”一词,使字段显示为没有箭头

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

我按照这种方式工作,但如果我这样做,那么验证错误'你必须写一个数字'它总是出现,无论我是在写一个数字(它不应该显示任何错误)。 / p>

我想要的是一个输入字段,用户可以在其中编写一个数字,我想验证它。

我应该只使用REGEX验证来表明我只需要数字吗?

2 个答案:

答案 0 :(得分:0)

在Symfony2表单中验证整数的最简单方法是添加最小约束。这样输入转换为整数并进行验证。

/**
 * @Assert\Min(limit = 0)
 */
private $myVar;

答案 1 :(得分:0)

$metadata->addPropertyConstraint('Identification', new Type(array('message' => 'You must write a number', 'type' => 'digit')));