好的 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 库? [关闭]

PHP 最简单的表单验证库? [关闭]

是否有使用用户、密码和私钥/公钥来验证 SFTP 的 PHP 库? [关闭]

什么是与 Paypal、Google Checkout 和 Authorize.net 一起使用的优秀 PHP 支付库? [关闭]

什么是好的隐形验证码? [关闭]

Scala 有没有好的数学/统计库? [关闭]