我正在使用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验证来表明我只需要数字吗?
答案 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')));