devilcius/extra-validator-bundle
Symfony bundle adding extra validators for common Spanish form fields. Includes CCC (Código Cuenta Cliente) bank account validation and NIF/DNI fiscal ID validation. Install via Composer and configure constraints in validation.xml for your entity properties.
Validator facade or custom rule system, assuming the logic is abstracted properly.validation.xml and constraint annotations. Minimal boilerplate required for basic usage.Validator::extend() or custom Rule classes. The effort is justified if Spanish validation is a priority.Validator component in its native form). Laravel’s built-in validator service can replicate this functionality without additional libraries.Constraint system does not natively exist in Laravel, requiring custom rule implementations.message options vs. Laravel’s language files).spatie/laravel-validation-extensions or custom rules may suffice.validation.xml and constraint annotations. Ideal for existing Symfony applications or hybrid Laravel/Symfony projects.Validator facade or custom Rule classes. Key considerations:
Validator::extend() to register custom rules (e.g., ccc, dni) with the same logic as the bundle.\Illuminate\Validation\Rule for type safety and reusability.FormRequest validation arrays or annotations.FormRequest classes, Validator facade usage).CccValidator, DniValidator).Ccc.php and Dni.php.Validator::extend('ccc', function ($attribute, $value, $parameters, $validator) {
// Implement CCC logic (e.g., regex, bank code checks)
return preg_match('/^[\d]{20}$/', $value) && /* checksum validation */;
});
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
class CccRule implements Rule {
public function passes($attribute, $value) {
// CCC validation logic
return true;
}
public function message() {
return 'El formato CCC no es válido.';
}
}
validation.xml with Laravel’s FormRequest validation:
public function rules()
{
return [
'ccc' => 'required|ccc', // Uses custom rule
'dni' => 'required|dni',
];
}
resources/lang/{locale}/validation.php):
'custom' => [
'ccc' => [
'required' => 'El CCC es obligatorio.',
'ccc' => 'El formato CCC no es válido.',
],
'dni' => [
'required' => 'El DNI es obligatorio.',
'dni' => 'El formato DNI no es válido.',
],
],
Validator facade.Constraint annotations, requiring custom rules.message options in constraints.Validator::extend() or custom rules).FormRequest classes or API validation pipelines.How can I help you explore Laravel packages today?