This package is under development, please do not use in production. You can download and test it.
Require the package with composer using the following command:
composer require shergela/validation-rule
<?php
return [
Shergela\Validations\ShergelaValidationsServiceProvider
];| Methods | Laravel Rule |
|---|---|
| Rule::required() | required |
| Rule::nullable() | nullable |
| Rule::boolean() | boolean |
| Rule::rules() | custom rules |
| ->email() | |
| ->uniqueEmail() | unique:users,email |
| ->min() | min |
| ->max() | max |
| ->minDigits() | min_digits |
| ->maxDigits() | max_digits |
| ->integer() | integer |
| ->numeric() | numeric |
| ->digits() | digits:1 |
| ->digitsBetween() | digits:1,4 |
| ->decimal() | decimal |
| ->alpha() | alpha |
| ->alphaDash() | alpha_dash |
| ->alphaNum() | alpha_num |
| ->string() | string |
| ->uppercase() | uppercase |
| ->lowercase() | lowercase |
| ->regex() | regex:pattern |
| ->hexColor() | hex_color |
| ->json() | json |
| ->url() | url or url:http,https |
| ->uuid() | uuid |
| ->ulid() | ulid |
| ->timezone() | timezone |
| ->date() | date |
| ->dateFormat() | date_format |
| ->dateEquals() | date_equals |
| ->dateBefore() | before |
| ->dateBeforeOrEqual() | before_or_equal |
| ->dateAfter() | after |
| ->dateAfterOrEqualToday() | after_or_equal:today |
| ->dateAfterOrEquals() | after_or_equal |
| ->ip() | ip |
| ->ipv4() | ipv4 |
| ->ipv6() | ipv6 |
| ->macAddress() | mac_address |
| ->startsWith() | starts_with:foo,bar... |
| ->size() | size |
| ->endsWith() | ends_with:foo,bar |
| ->doesntStartWith() | doesnt_start_with:foo,bar |
| ->doesntEndWith() | doesnt_end_with:foo,bar |
| ->in() | in:foo,bar... |
| ->notIn() | not_in:foo,bar,baz... |
| ->regex() | regex:pattern |
| ->uppercaseFirstLetter() | new UppercaseFirstLetter() |
| ->lowercaseFirstLetter() | new TimezoneRegionValidation() |
| ->separateIntegersByComma() | new SeparateIntegersByComma() |
| ->separateStringsByComma() | new SeparateStringsByComma() |
| ->separateStringsByUnderscore() | new SeparateStringsByUnderscore() |
| ->timezones() | new TimezoneValidation() |
| ->timezoneAsia() | new TimezoneRegionValidation() |
| ->timezoneEurope() | new TimezoneRegionValidation() |
| ->timezoneAmerica() | new TimezoneRegionValidation() |
| ->timezoneAntarctica() | new TimezoneRegionValidation() |
| ->timezoneArctic() | new TimezoneRegionValidation() |
| ->timezoneAtlantic() | new TimezoneRegionValidation() |
| ->timezoneAustralia() | new TimezoneRegionValidation() |
| ->timezoneIndian() | new TimezoneRegionValidation() |
| ->timezonePacific() | new TimezoneRegionValidation() |
| ->array() | array |
| ->arrayDistinct() | distinct |
| ->arrayDistinctStrict() | distinct:strict |
| ->arrayDistinctIgnoreCase() | distinct:ignore_case |
| ->uppercaseWord() | Word must be a uppercase |
| ->lowercaseWord() | Word must be a lowercase |
| ->lettersAndSpaces() | Letters and spaces only |
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Shergela\Validations\Validation\Rule;
class TestRequest extends FormRequest
{
/**
* @return bool
*/
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'name' => [
Rule::required()->email()->messages(
messages: [
'name.required' => 'The name field is required.',
'email.required' => 'The email field is required.',
]
)
],
];
}
}
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Shergela\Validations\Validation\Rule;
class TestRequest extends FormRequest
{
/**
* @return bool
*/
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'name' => Rule::required(message: 'Please :name enter your name')
->min(min: 3, message: 'Please :name enter at least 3 characters'),
];
}
}The MIT License (MIT). Please see License for more information.