choros/polish-extensions-bundle
Illuminate\Validation\Rule).NIP, REGON, PESEL) avoids this risk.Lang facade).Validator can integrate custom rules.FormRequest or API resources.Validator::errors().| Component | Compatibility | Workaround |
|---|---|---|
| Symfony2 Bundle | ❌ Incompatible with Laravel (no PSR-4 autoloading, Symfony kernel dependency). | Extract validation classes manually or use Symfony Validator Component. |
| PHP Validation | ✅ Compatible (pure PHP logic). | Reimplement constraints as Laravel Rule objects or standalone functions. |
| Translations | ⚠️ Partial (Laravel uses Lang facade; Symfony uses Translation component). |
Manually map Symfony messages to Laravel’s validation.custom namespace. |
| Composer | ✅ Works (if using standalone logic). | Avoid dev-master; prefer stable releases or fork for Laravel adaptation. |
Option 1: Extract Validation Logic (Recommended)
NipConstraint, PeselConstraint).Illuminate\Validation\Rule).// app/Rules/PolishNip.php
use Illuminate\Contracts\Validation\Rule;
class PolishNip implements Rule {
public function passes($attribute, $value) {
// Port logic from Taveo\PolishExtensionsBundle\Validator\Constraints\Nip
return true/false;
}
public function message() {
return 'Invalid NIP number.';
}
}
$validator = Validator::make($data, [
'nip' => ['required', new PolishNip],
]);
Option 2: Symfony Validator Component (If Already Used)
validator component via Composer.ValidatorBuilder.Option 3: Database-Level Validation
Rule interface changes).Rule objects.validation.custom in resources/lang.PolishNip rule for NIP fields").validation.custom, updates require manual sync with the bundle’s translations.vinkla/hashids for PESEL).| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Incorrect validation logic | False rejects/accepts | Unit test with known valid/invalid samples. |
| Translation mismatches | User-facing errors in wrong language | Use Laravel’s validation.custom namespace. |
| Symfony dependency bloat (Option 2) | Increased deploy complexity | Avoid Option 2; prefer standalone rules. |
| PESEL/NIP edge cases (e.g., old IDs) | Validation fails for legitimate data | Research historical Polish ID formats. |
How can I help you explore Laravel packages today?