定制 mrcremita/form-normalizer 二次开发

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

邮箱: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
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

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

其他信息

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