Validator组件

3.3 版本
维护中的版本

Validator组件对遵循了JSR-303 Bean Validation specification的值,提供了验证用的工具。

安装 

你可以通过下述两种方式安装:

然后,包容vendor/autoload.php文件,以开启Composer提供的自动加载机制。否则,你的程序将无法找到这个Symfony组件的类。

用法 

Validator组件的行为基于以下两个概念:

  • 约束(constraints),定义了用于验证的规则

  • 验证器(validators),包含了真正验证逻辑的类。

以下例程展示了如何验证一个字符串“应至少包含10个字符”:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use Symfony\Component\Validator\Validation;
use Symfony\Component\Validator\Constraints\Length;
use Symfony\Component\Validator\Constraints\NotBlank;
 
$validator = Validation::createValidator();
$violations = $validator->validate('Bernhard', array(
    new Length(array('min' => 10)),
    new NotBlank(),
));
 
if (0 !== count($violations)) {
    // there are errors, now you can show them / 有错误发生,现在你可以显示它们
    foreach ($violations as $violation) {
        echo $violation->getMessage().'<br>';
    }
}

取出Validator实例 

Validator 类是Validator组件的主要访问入口。要创建本类的一个新实例,推荐使用 Validation 类:

1
2
3
use Symfony\Component\Validator\Validation;
 
$validator = Validation::createValidator();

本文,包括例程代码在内,采用的是 Creative Commons BY-SA 3.0 创作共用授权。

登录symfonychina 发表评论或留下问题(我们会尽量回复)