panchodp / rut-chileno-rule
Validador(rule) y formateador de RUT chileno para Laravel.
Installs: 8
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/panchodp/rut-chileno-rule
Requires
- php: ^8.4
Requires (Dev)
- laravel/pint: ^1.27
- orchestra/testbench: ^10.9
- pestphp/pest: ^4.3.2
- phpstan/phpstan: ^2.1.37
- phpunit/phpunit: ^12.5.8
This package is not auto-updated.
Last update: 2026-01-29 15:27:59 UTC
README
Rut Chileno Rule for Laravel.
Regla de validación de RUT chileno para Laravel.
Requisitos
- PHP 8.4+
- Laravel 10+
Instalación
composer require panchodp/rut-chileno-rule
Uso Regla de Validación
// En tu FormRequest o Controller $request->validate([ 'rut' => 'required|rutchileno', ]); // O con el facade Validator use Illuminate\Support\Facades\Validator; $validator = Validator::make($data, [ 'rut' => 'required|rutchileno', ]);
Regla de validación
| Regla | Descripción |
|---|---|
rutchileno |
Valida que el campo sea un RUT chileno válido |
Acepta formatos: 12.345.678-5, 12345678-5, 123456785
Posibles Errores específicos
El validador retorna mensajes específicos según el tipo de error:
| Error | Descripción |
|---|---|
not_string |
El valor no es texto |
min_length |
El RUT es demasiado corto |
max_length |
Excede el máximo de caracteres (9) |
invalid_characters |
Contiene caracteres no permitidos |
invalid_verifier |
El dígito verificador es incorrecto |
Nota: Los valores
nully vacíos pasan la validación. Usa la reglarequiredpara campos obligatorios.
Personalizar mensajes de error
Publica los archivos de idioma:
php artisan vendor:publish --tag=rutchileno-lang
O define el mensaje en resources/lang/es/validation.php:
'rutchileno' => 'El :attribute no es un RUT chileno válido.',
Helpers de Formateo para trabajar con RUTs
Funciones globales para formatear y manipular RUTs:
// Formatear rut_format('123456785'); // "12.345.678-5" rut_format_dash('123456785'); // "12345678-5" // Limpiar rut_clean('12.345.678-5'); // "123456785" // Extraer partes rut_get_number('12.345.678-5'); // "12345678" rut_get_verifier('12.345.678-5'); // "5" // Calcular dígito verificador rut_calculate_verifier('12345678'); // "5" // Validar rut_validate('12.345.678-5'); // true rut_validate('12.345.678-0'); // false
Caso de uso típico
// Guardar en BD sin formato $user->rut = rut_clean($request->rut); // "123456785" // Mostrar formateado echo rut_format($user->rut); // "12.345.678-5"
Facade Rut
También puedes usar la Facade Rut:
use Panchodp\RutChileno\Facades\Rut; Rut::format('123456785'); // "12.345.678-5" Rut::clean('12.345.678-5'); // "123456785" Rut::formatWithDash('123456785'); // "12345678-5" Rut::isValid('12.345.678-5'); // true
Testing
composer test # Con coverage composer test:coverage
