定制 tnapf/validation 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

tnapf/validation

最新稳定版本:v1.0.2

Composer 安装命令:

composer require tnapf/validation

包简介

README 文档

README

Data validation plugin for Tnapf.

Installation

composer require tnapf/validation

Array Structured Validations

<?php

use Tnapf\Validation\FilterVar;
use Tnapf\Validation\MaxLength;
use Tnapf\Validation\MinLength;
use Tnapf\Validation\Regex;
use function Tnapf\Validation\validateArray;

$data = [
    'name' => 'John Doe$$',
    'email' => 'malformed-email'
];

$errors = validateArray([
    'name' => [
        new Regex('Name must only container letters.', '/^[a-zA-Z ]+$/'),
        new MaxLength('Name cannot exceed {max} characters.', 255),
        new MinLength('Name is required.', 0)
    ],
    'email' => [
        new FilterVar('Email is not valid.', FILTER_VALIDATE_EMAIL),
        new MaxLength('Email cannot exceed {max} characters.', 255),
        new MinLength('Email is required.', 0)
    ],
], $data);

var_dump($errors);

Object Structured Validations

$errors = validateModel(new class {
    #[Regex('Name must only container letters.', '/^[a-zA-Z ]+$/')]
    #[MaxLength('Name cannot exceed {max} characters.', 255)]
    #[MinLength('Name is required.', 0)]
    public string $name;

    #[FilterVar('Email is not valid.', FILTER_VALIDATE_EMAIL)]
    #[MaxLength('Email cannot exceed {max} characters.', 255)]
    #[MinLength('Email is required.', 0)]
    public string $email;
}, [
    'name' => 'John Doe$$',
    'email' => 'malformed-email'
]);

var_dump($errors);

// or you can pass in a prefilled object

$model = new class {
    #[Regex('Name must only container letters.', '/^[a-zA-Z ]+$/')]
    #[MaxLength('Name cannot exceed {max} characters.', 255)]
    #[MinLength('Name is required.', 0)]
    public string $name;

    #[FilterVar('Email is not valid.', FILTER_VALIDATE_EMAIL)]
    #[MaxLength('Email cannot exceed {max} characters.', 255)]
    #[MinLength('Email is required.', 0)]
    public string $email;
};

$model->name = 'John Doe$$';
$model->email = 'malformed-email';

$errors = validateModel($model, []);

var_dump($errors);

Getting validators from models

use function Tnapf\Validation\getValidators;

$validators = getValidators(new class {
    #[Regex('Name must only container letters.', '/^[a-zA-Z ]+$/')]
    #[MaxLength('Name cannot exceed {max} characters.', 255)]
    #[MinLength('Name is required.', 0)]
    public string $name;

    #[FilterVar('Email is not valid.', FILTER_VALIDATE_EMAIL)]
    #[MaxLength('Email cannot exceed {max} characters.', 255)]
    #[MinLength('Email is required.', 0)]
    public string $email;
});

统计信息

  • 总下载量: 23
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2024-04-23