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.