rifat / request-validator

类似 PHP Laravel 的独立验证库

v1.0.0 2023-05-09 15:21 UTC

This package is auto-updated.

Last update: 2024-09-05 16:29:37 UTC


README

使应用验证变得简单(受 Laravel 验证启发)

页面索引

推荐链接

要求

  • PHP 8.0 或更高版本
  • Composer 用于安装

安装

composer require "rifatcse09/request_validator"

快速开始 🚀

<?php

require('vendor/autoload.php');

use App\RequestValidator\Validator;

$validator = new Validator;

$validator->request([
    'email'=>'test @gmal',
    'type'=>'11', 
    'money' => '2111a', 
    'zip_code' => '12q456',
    'terms' => '1212', 
    'quantity' => '20.5',
    'phone_number' => '01867s',
    'gender' => 'f',
    'username' => 'RR',
    'password' => 'qww',
]);

$rules = [
    'name' => 'required|min:3',
    'email' => ['required', 'email'],
    'type' => ['required', 'boolean'],
    'money' => ['required', 'numeric'],
    'zip_code' => ['required','digits:6'],
    'terms' => 'accepted',
    'quantity' => 'integer',
    'phone_number' => 'regex:/^[0-9\-]+$/',
    'gender' => 'required|in:male,female',
    'username' => 'required|lowercase',
    'password' => 'required|uppercase',
];

// Bulk way 
$validator->rules($rules);

// Singal way
$validator->rule('name', 'required|min:3');

// then validate
$validator->validate();

if ($validator->fails()) {
    // handling errors
 
    // get first error message from all
    echo "<pre>";
    print_r($validator->errorFirst());

    // get first error message of email errors
    echo "</pre>";
    echo $validator->errorFirst('email');

    foreach ($validator->errors() as $error) {
        print_r($error);
    }
    // get error messages of specific attribute
    foreach ($validator->error('email') as $error) {
        echo $error . "\n";
    }

    exit;
} else {
    // validation passes
    echo "Success!";
}

测试

测试套件可以在您的机器上运行。主要依赖项是 PHPUnit,可以使用 Composer 安装。

# run this command from project root
$ composer install --dev --prefer-source
$ vendor/bin/phpunit --configuration phpunit.xml --coverage-text

更多信息请参阅 PHPUnit 命令行测试运行器

许可证

PHP 请求验证器是开源软件,许可协议为 MIT