yzen.dev/validator-xsd

ValidatorXSD is a facade over DOMDocument that will allow you to more conveniently validate your XML file.

0.0.10 2023-01-09 08:17 UTC

This package is auto-updated.

Last update: 2024-04-12 16:48:23 UTC


README

Packagist Version Packagist Downloads Packagist Downloads

ValidatorXSD is a DOMDocument facade that will allow you to more conveniently validate your XML file and also localize errors.

📜 Installation

The package can be installed via composer:

composer require yzen.dev/validator-xsd

📜 Features

  • Simple use
  • Casting LibXMLError errors to ErrorXSD
  • Parsing fields, rules and more from an error
  • The ability to localize validator errors

📜 Usage

Validate xml by schema:

    $data = '<XML>...</XML>';
    $validator = ValidatorXSD::init($data)
                ->loadSchema( './XSD/request.xsd')
                ->setLocalization(CustomLocalizationXSD::class);
    echo $validator->validate();

Get all error:

    if (!$validator->validate()) {
        foreach ($validator->getErrors() as $error) {
            var_dump($error);
        }
    }

Pluck result and group by field:

    $errors = $validator->getErrors()
                ->pluck(['element','message'])
                ->groupBy('element');

Create custom localization

class CustomLocalizationXSD implements LocalizationXSD
{
    public function customAttributes(): array
    {
        return [
            'Country' => 'Страна',
            'Province' => 'Область',
        ];
    }
    
    public function messages(): array
    {
        return [
            'minLength' => 'Поле "${field}" меньше минимальной длины.',
        ];
    }
}