symnedi/validator

该包已被废弃且不再维护。作者建议使用 kdyby/validator 包。

Symfony\Validator 集成到 Nette。

v0.1.1 2015-11-03 18:03 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:47:42 UTC


README

该包已废弃。请使用 Kdyby/Validator 代替。

Build Status Quality Score Code Coverage Downloads Latest stable

安装

通过 Composer

$ composer require symnedi/validator

config.neon 中注册扩展

extensions:
	- Symnedi\Validator\DI\ValidatorExtension
	- Kdyby\Annotations\DI\AnnotationsExtension

使用方法

让我们注册用户,但只当有有效的邮箱时。

首先,在你的要验证的实体(对象)上使用验证注解。

use Symfony\Component\Validator\Constraints as Assert;


class User
{

	/**
	 * @Assert\NotBlank
	 * @Assert\Email
	 */
	private $email;


	/**
	 * @var string $email
	 */
	public function __construct($email)
	{
		$this->email = $email;
	}

}

然后在我们的服务中进行验证

use Symfony\Component\Validator\Validator\ValidatorInterface;


class RegistrationManager
{

	/**
	 * @var ValidatorInterface
	 */
	private $validator;


	public function __construct(ValidatorInterface $validator)
	{
		$this->validator = $validator;
	}


	/**
	 * Instance is passed: $user = new User('invalid.email');
	 */
	public function registerUser(User $user)
	{
		$violations = $this->validator->validate($user);

		// process violations
		$violation = $violations[0];
		$violation->getMessage(); // 'Email is not valid.'
	}

}

就这样!

有关详细的使用方法,请参阅 Symfony 文档

测试

$ phpunit

贡献

请参阅 CONTRIBUTING 以获取详细信息。