lexuss1979/validol

简单的PHP验证器

1.0.0 2020-05-13 06:39 UTC

This package is auto-updated.

Last update: 2024-09-23 19:25:38 UTC


README

PHP验证器

Scrutinizer Code Quality

Code Coverage

安装

使用以下命令安装最新版本:

$ composer require lexuss1979/validol

基本用法

<?php
use Lexuss1979\Validol\Validator;

$validation = Validator::process(['name' => 'Olga', 'age' => 18], [
    'name' => 'required string min_len:2',
    'age' => 'required integer min:16'
]);
if ($validation->success()){
    // Data is valid
    return $validation->data();
} else {
    // There are errors
   var_dump($validation->errors());
}

必需与有时

<?php

use Lexuss1979\Validol\Validator;
$validation = Validator::process([], ['age' => 'required']);
//fails 
$validation = Validator::process([], ['age' => 'sometimes integer']);
//success 
$validation = Validator::process([ 'age' => 'seventeen' ], ['age' => 'sometimes integer']);
// fails because age must be an integer value if presents

验证数据

您可以使用 $validation->data() 获取验证数据。它将只包含成功验证的键。

<?php
use Lexuss1979\Validol\Validator;

$validation = Validator::process(['name' => 'Olga', 'age' => 18, 'email' => 'olga@gmail.test'], [
   'name' => 'required string min_len:2',
   'age' => 'required integer min:16'
]);
var_dump($validation->data());
//  ['name' => 'Olga', 'age' => 18] 

错误

如果验证失败,您可以通过 $validation-errors() 访问验证错误。它返回类似以下的关联数组。

<?php
use Lexuss1979\Validol\Validator;

$validation = Validator::process(['name' => 'Olga', 'age' => ''], [
   'address' => 'required string',
   'age' => 'required integer min:16'
]);

var_dump($validation->errors());
// ['address' => ['address must be specified'], 'age' => ['age must be an integer value']]

键别名

使用 'as' 关键字在验证后更改数据键的签名。

<?php
use Lexuss1979\Validol\Validator;

$validation = Validator::process(['firstname' => 'Olga'], [
   'firstname as name' => 'required']);
var_dump($validation->data());
//  ['name' => 'Olga'] 

错误消息

您可以指定自己的错误消息用于验证设置。

<?php
use Lexuss1979\Validol\Validator;

$validation = Validator::process(['weight' => 'heavy'], [
   'weight' => ['required integer min:10' => 'Something is wrong']
]);
var_dump($validation->errors());
//  ['weight' => ['Something is wrong']]