alejoluc / validation
PHP 验证器
0.3.2
2018-07-12 21:52 UTC
Requires
- php: >=5.6.0
README
安装
通过命令行
composer require alejoluc/validation
或者在 composer.json
中手动添加
{ "require": { "alejoluc/validation": "*" } }
验证器
Alpha Only letter characters
Alphanumeric Only letters and numbers
AlphanumericUnderscore Only letters, numbers and underscore
Email Valid E-mail address
URL Valid URL
Equals Strict comparison between two values
NotEquals Strict comparison between two values
Between Numeric value between a minimum and a maximum
GreaterThan
LessThan
InArray
NotInArray
NotEmpty A value is required
Regex
NotRegex
Numeric Checks whether a value is numeric (including strings containing numbers)
用法
<?php require __DIR__ . '/vendor/autoload.php'; use alejoluc\Validation\Validations; use alejoluc\Validation\Validator; $validator = new Validator; $data = [ 'name' => 'Alejo Lucangeli', 'mail' => 'alejolucangeli@gmail.com', 'token' => 'adsjkgfuy43758vkj', 'level' => 3 ]; $rules = [ 'name' => new Validations\NotEmpty, 'mail' => [new Validations\NotEmpty, new Validations\Email], 'token' => new Validations\Regex('/^[a-z0-9]+$/'), 'level' => [new Validations\Numeric, new Validations\Between(0, 5)] ]; $result = $validator->validate($data, $rules); if ($result->passes()) { echo "All fine"; } else { //Display all error messages $errors = $result->getErrorMessages(); foreach ($errors as $error) { echo "- $error\n"; } //Display errors by field $errors = $result->getErrors(); foreach ($errors as $field => $errorMessages) { echo "Errors in field $field:\n"; foreach ($errorMessages as $message) { echo " - $message\n"; } } }
使用门面
熟悉 Laravel 的开发者可能习惯于调用门面以访问对象的实例。Validation 也支持这一功能。
<?php require __DIR__ . '/vendor/autoload.php'; use alejoluc\Validation\Validations; use alejoluc\Validation\ValidatorFacade as Validator; //[... setup data and rules ] /* @var alejoluc\Validation\ValidationResult $result */ $result = Validator::validate($data, $rules); if ($result->passes()) { echo "All fine"; } else { $errors = $result->getErrorMessages(); foreach ($errors as $error) { echo "- $error\n"; } }
更改错误信息语言
内置语言为英语和西班牙语,默认为英语。要添加语言,请创建一个位于 lang
文件夹中的文件。
以下是更改错误返回语言的示例。
<?php require __DIR__ . '/vendor/autoload.php'; use alejoluc\Validation\Validations; use alejoluc\Validation\Validator; $validator = new Validator; $validator->setLanguage('es-es'); //....