Open Source/validator-xsd/Overview
validator-xsd
ValidatorXSD is a facade over DOMDocument that will allow you to more conveniently validate your XML file
Overview
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-xsdFeatures
- 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 errors:
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}" меньше минимальной длины.', ]; }}