【发布时间】:2015-08-03 15:39:12
【问题描述】:
什么时候(在什么情况下)我们应该使用 Digits 验证器,什么时候应该使用 Int (IsInt) 验证器?
根据http://framework.zend.com/manual/current/en/modules/zend.i18n.validators.html#zend-i18n-validator-int,在某些情况下(取决于区域设置)1,243 或 1.6546 等值可能会通过验证(请查看上面链接中的第三个示例)。
$validator = new Zend\I18n\Validator\IsInt();
$validator->isValid(1234); // returns true
$validator->isValid(1234.5); // returns false
$validator->isValid('1,234'); // returns true <-------
如果我们不再次检查这些数据,在某些情况下可能会导致混乱。
我看到 github 上的许多项目/模块使用 Int 验证器来验证诸如 id、电话或任何其他数字数据之类的数据。
使用 Digits 验证器而不是 Int 不应该更安全吗?
Digits 和 Int 验证器有哪些优缺点?
【问题讨论】:
标签: php validation zend-framework zend-framework2