Rules

Validation rules help ensure data quality and security in your Laravel applications. The Basic Components package includes advanced validation rules that go beyond Laravel's built-in validators.

These rules can be used in form requests, controller validation, or directly in Livewire components.

Valid Name Rule

The ValidNameRule validates that a name contains a realistic first and last name pattern, filtering out common test data, company names, and invalid patterns.

This rule checks for:

  • At least two name parts (first and last name)
  • Valid characters including international letters, hyphens, apostrophes
  • Filters out common test names like "John Doe", "Max Mustermann"
  • Detects company suffixes like "GmbH", "LLC", "Ltd"
  • Rejects keyboard patterns and repeated characters
  • Supports international naming conventions
1use MaskowLabs\BasicComponents\Rules\ValidNameRule;
2 
3$request->validate([
4 'name' => ['required', new ValidNameRule()],
5]);

Valid Email Rule

The ValidEmailRule provides enhanced email validation including disposable email detection using the verifymail.io service when an API key is configured.

Features include:

  • Standard email format validation
  • Disposable/temporary email detection (requires API key)
  • Graceful fallback when external service is unavailable
  • Configurable via basic-components.verifymail_api_key

To enable disposable email detection, add your verifymail.io API key to your config:

'verifymail_api_key' => env('VERIFYMAIL_API_KEY', null),
1use MaskowLabs\BasicComponents\Rules\ValidEmailRule;
2 
3$request->validate([
4 'email' => ['required', 'email', new ValidEmailRule()],
5]);