danieltm/validation-io 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

danieltm/validation-io

最新稳定版本:V1.0.4

Composer 安装命令:

composer require danieltm/validation-io

包简介

validador do framework origins

README 文档

README

Este projeto implementa um sistema de validação para o framework Origins, permitindo que os usuários definam e utilizem regras de validação personalizadas.

Funcionalidades

  • Validações baseadas em atributos (#[Attribute]).
  • Suporte a validações nativas (NotEmpty, Email, etc.).
  • Possibilidade de criação de validações personalizadas.
  • Integração com controllers do Origins através de #[Valid].

Instalação

Este validador depende do framework Origins. Certifique-se de que ele já está instalado antes de continuar.

  1. Adicione o validador ao seu projeto utilizando o Composer:
    composer require danieltm/validation-io

Como Usar

1 Criando um Modelo com Validações

use Daniel\Validator\Valid\Email;
use Daniel\Validator\Valid\NotEmpty;

final class ModelValidation
{
    #[NotEmpty]
    private string $nome;

    #[Email]
    private string $email;
}

2 Criando um Controller com Validação

use Daniel\Origins\Controller;
use Daniel\Origins\Get;
use Daniel\Origins\Request;
use Daniel\Validator\Props\Valid;

#[Controller]
final class TesteController
{
    #[Get("/")]
    #[Valid(ModelValidation::class)]
    function index(Request $request) {
        // A validação será processada automaticamente
    }
}

Criando uma Validação Personalizada

  1. Crie um atributo que estenda AbstractValidation e informe o provedor de validação:
    use Daniel\Validator\Props\AbstractValidation;
    use Attribute;
    
    #[Attribute(Attribute::TARGET_PROPERTY)]
    #[ValidationProvider(new MinLengthValidator())]
    class MinLength extends AbstractValidation
    {
        public function __construct(private int $length, string $message = "Valor muito curto.") {
            parent::__construct($message);
        }
    }
  2. Crie um provedor que implemente BaseValidator:
    use Daniel\Validator\BaseValidator;
    
    class MinLengthValidator implements BaseValidator
    {
        private int $length;
    
        public function __construct(int $length)
        {
            $this->length = $length;
        }
    
        public function isValid($value): bool
        {
            return strlen($value) >= $this->length;
        }
    }
  3. Agora você pode usar #[MinLength(5)] em suas propriedades!

Licença

Este projeto é distribuído sob a licença MIT.

Para mais informações, acesse Origins Framework.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-01-09