proengsoft/laravel-jsvalidation
Reuse Laravel validation rules, messages, and FormRequests for automatic client-side form validation—no custom JS required. Built on jQuery Validation with localization support, plus AJAX validation for unique/exists/active_url and custom rules. Supports Laravel 11–13, PHP 8.2–8.4.
FormRequest classes, rules, and error messages, ensuring DRY (Don’t Repeat Yourself) principles. Eliminates the need for manual JavaScript validation logic.unique, exists, and custom validations via AJAX, improving UX without compromising data integrity.FormRequest classes. Manual rule definitions (e.g., in controllers) require additional configuration.jsvalidation.js) and jQuery, which must be accounted for in build processes (e.g., Laravel Mix/Vite).present, timezone-aware dateFormat) may necessitate fallback server-side checks or custom JS.unique) introduce network latency, which could degrade UX if not optimized (e.g., debouncing, caching).present) be handled in forms where client-side validation is mandatory?FormRequest classes and validation rules.npm install jquery-validation --save
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.3/jquery.validate.min.js"></script>
<script src="{{ asset('vendor/jsvalidation/js/jsvalidation.js') }}"></script>
StoreRequest in a blade view:
{!! JsValidator::formRequest('App\Http\Requests\StoreUserRequest') !!}
unique) meets UX expectations.laravel-rule packages) for client-side support.php artisan vendor:publish --provider="Proengsoft\JsValidation\JsValidationServiceProvider"
config/jsvalidation.php for customizations (e.g., disabling AJAX validation).AppServiceProvider registers the facade (handled automatically in Laravel 5.5+).npm shrinkwrap or yarn.lock to pin versions.storage/logs/laravel.log).unique checks).exists rules).throttle middleware for rate-limiting validation endpoints.jsvalidation.js in production.unique/exists rules during peak times.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| jQuery/jQuery Validation missing | Forms lack client-side validation. | Bundle dependencies explicitly; add checks in Blade templates. |
Unsupported rule (e.g., present) |
Validation fails silently. | Implement server-side fallback; log warnings for unsupported rules. |
| AJAX validation timeout | Poor UX; form submission delays. | Increase timeout, debounce inputs, or disable AJAX for non-critical rules. |
Database lock during unique check |
Slow form submissions. | Optimize database queries; use select clauses for exists rules. |
| Package version conflict | Breaks validation logic. | Pin package versions in composer.json. |
| Frontend framework conflicts | JS errors or validation bypass. | Isolate jQuery in iframes or use polyfills for modern frameworks. |
How can I help you explore Laravel packages today?