好的 PHP 验证库 [关闭]
Posted
技术标签:
【中文标题】好的 PHP 验证库 [关闭]【英文标题】:good PHP validation libraries [closed] 【发布时间】:2011-04-11 21:07:58 【问题描述】:我正在尝试查找不断维护的良好验证库(电话、电子邮件等)的列表。我使用 php 并且对框架中的库持开放态度,但是如果您推荐框架中的库,请说明它是否允许您在没有框架本身的情况下使用它?
【问题讨论】:
过滤器扩展默认包含在 PHP 中:php.net/filter 【参考方案1】:你可以去Zend_Validate
http://framework.zend.com/manual/en/zend.validate.introduction.html
使用 Zend 框架,您可以选择使用您喜欢的框架的任何部分。如果您进行非常基本的验证,它可以像静态调用预定义方法一样简单,例如:
if (Zend_Validate::is($email, 'EmailAddress'))
// Yes, email appears to be valid
否则,您还可以选择构建您自己设计的自定义验证器。
【讨论】:
我真的很喜欢 Zend_Validate,也喜欢链式验证和返回验证消息数组的功能。 关于websec.io/2013/12/31/…的另一篇文章【参考方案2】:filter_var 有什么问题?
【讨论】:
在 5.2 之前的版本中不可用【参考方案3】:我在很多项目中都使用过Respect\Validation,相信我值得使用。它提供了复杂(自定义)规则、可自定义和可迭代异常以及 80 个(经过全面测试)验证器等功能。
即数值验证:
use Respect\Validation\Validator as v;
$number = 123;
v::numeric()->validate($number); //true
即链式验证:
use Respect\Validation\Validator as v;
$usernameValidator = v::alnum()->noWhitespace()->length(1,15);
$usernameValidator->validate('alganet'); //true
阅读全文Documentation here.
在Github here.上分叉
【讨论】:
【参考方案4】:还有 PEAR 库 Validate here。
【讨论】:
【参考方案5】:我偶然发现了https://github.com/vlucas/valitron
使用起来似乎很简单,我喜欢它的无依赖设计
【讨论】:
以上是关于好的 PHP 验证库 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
什么是好的 PHP Active Record 库? [关闭]
是否有使用用户、密码和私钥/公钥来验证 SFTP 的 PHP 库? [关闭]
什么是与 Paypal、Google Checkout 和 Authorize.net 一起使用的优秀 PHP 支付库? [关闭]