mrcremita/form-normalizer 问题修复 & 功能扩展

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

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

mrcremita/form-normalizer

Composer 安装命令:

composer require mrcremita/form-normalizer

包简介

Normalizes and validates form data: emails, names, DNI and more.

README 文档

README

This package provides a solution to normalize and validate form data such as emails, names, Dni's, among others, in a simple and extensible way.

🆙 Installation

Install form-normalizer with composer:

  composer require mrcremita/form-normalizer

✅ Normalizers Available

EmaiNormalizer: Normalizes and validates emails.

NameNormalizer: Normalizes names (capitalizes correctly).

DniValidator: Validates and normalizes Spanish DNI numbers.

More updates and features coming soon!

💻 Usage/Examples

use Normalizers\EmailNormalizer;
use Normalizers\NameNormalizer;
use Validators\DniValidator;
use Normalizers\NormalizeFormFromArray;

// Individual data normalization
$email = "  ExAmPlE@DOMAIN.CoM  ";
$normalizedEmail = EmailNormalizer::normalize($email);
echo $normalizedEmail;  // Output: example@domain.com

$name = "  jAvI gArCíA  ";
$normalizedName = NameNormalizer::normalize($name);
echo $normalizedName;  // Output: Javi García

$dni = "12345678A";
$isValidDni = DniValidator::isValid($dni);
echo $isValidDni ? "Valid DNI" : "Invalid DNI";  // Output: Valid DNI

// Normalization of multiple data via an array
$data = [
    'email' => "  ExAmPlE@DOMAIN.CoM  ",
    'name' => "  jAvI gArCíA  ",
    'dni' => "12345678A"
];

$normalizedData = NormalizeFormFromArray::normalize($data);

echo $normalizedData['email']; // Output: example@domain.com
echo $normalizedData['name']; // Output: Javi García
echo $normalizedData['dni']; // Output: Valid DNI (or "Invalid DNI" if the DNI is invalid)

🧬 Symfony Integration

1.Make sure you have installed the package in your Symfony project using Composer.
For installation details, see the Installation section.

2.Register normalizers as services:

services:
    Normalizers\EmailNormalizer: ~
    Normalizers\NameNormalizer: ~
    Validators\DniValidator: ~

3.Example of use in Controller:

Form Controller

    if ($request->isMethod('POST')) {
        $formData = $request->request->all();
        $normalizedData = NormalizeFormFromArray::normalize($formData);
    
        $command = FormadorCommand::fromRequest($request, $normalizedData);
        $this->handleCommand($command);

        return $this->redirectToRoute('detail_session', ['idSession' => 57789]);
    }

    return $this->render('your_template.html.twig');

👤 Author

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-04-13

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固