A persian alphabet, number and etc. validation package for laravel
zareshahi/laravel-persian-validation is a Laravel package for a persian alphabet, number and etc. validation package for laravel.
It currently has 0 GitHub stars and 4 downloads on Packagist (latest version 1.2.4).
Install it with composer require zareshahi/laravel-persian-validation.
Discover more Laravel packages by zareshahi
or browse all Laravel packages to compare alternatives.
Last updated
Laravel Persian Validation Provides validation for Persian alphabet, number and etc.
Via Composer
composer require sadegh19b/laravel-persian-validation
You can run vendor:publish command to have custom lang file of package on this path ( resources/lang/{locale}/persian-validation.php )
php artisan vendor:publish --provider="Sadegh19b\LaravelPersianValidation\PersianValidationServiceProvider"
You can access to validation rules by passing the rules key according blew following table:
| Rules | Descriptions | Acceptable Examples | --- | --- | --- | | persian_alpha | Persian alphabet | صادق | persian_num | Persian numbers | ۱۲۳۴ | persian_alpha_num | Persian alphabet and numbers |صادق۱۲۳۴ | persian_alpha_eng_num | Persian alphabet and numbers with english numbers |صادق۱۲34 | persian_not_accept | Doesn't accept Persian alphabet and numbers | cant be persian | shamsi_date | Check shamsi (jalali) date with format(Y/m/d) | 1373/3/19 | shamsi_date:persian | Check shamsi (jalali) date with format(Y/m/d) with persian number | ۱۳۷۳/۳/۱۹ | shamsi_date_between:1300,1400 | Check shamsi (jalali) date with format(Y/m/d) between years | 1373/3/19 | shamsi_date_between:1300,1400,persian | Check shamsi (jalali) date with format(Y/m/d) between years with persian number | ۱۳۷۳/۳/۱۹ | ir_mobile | Iranian mobile numbers | 00989173456789, +989173456789, 989173456789, 09173456789, 91712345678 | ir_mobile:zero_code | Iranian mobile numbers with double zero country code | 00989173456789 | ir_mobile:plus | Iranian mobile numbers with plus country code | +989173456789 | ir_mobile:code | Iranian mobile numbers with country code | 989173456789 | ir_mobile:zero | Iranian mobile numbers starts with zero | 09173456789 | ir_mobile:without_zero | Iranian mobile numbers without first zero | 9173456789 | ir_phone | Iranian phone numbers | 37236445 | ir_phone_code | Iranian phone area code | 077, 021, ... | ir_phone_with_code | Iranian phone number with area code | 07737236445 | ir_postal_code | Iranian postal code | 1619735744, 16197-35744 | ir_postal_code:seprate | Iranian postal code sperated | 16197-35744 | ir_postal_code:without_seprate | Iranian postal code without seprate | 1619735744 | ir_bank_card_number | Iranian bank payment card numbers | 6274129005473742 | ir_bank_card_number:seprate | Iranian bank payment card numbers seprate between digits with dash | 6274-1290-0547-3742 | ir_bank_card_number:space | Iranian bank payment card numbers seprate between digits with space | 6274 1290 0547 3742 | ir_sheba | Iranian Sheba numbers | IR062960000000100324200001 | ir_national_code | Iran melli code | 0013542419 | a_url | Check correct URL | http://google.com, https://www.google.com | a_domain | Check correct Domain | www.google.com, google.com
Accept Persian language alphabet according to standard Persian, this is the way you can use this validation rule:
$input = [ 'فارسی' ];
$rules = [ 'persian_alpha' ];
Validator::make( $input, $rules );
Validate Persian standard numbers (۰۱۲۳۴۵۶۷۸۹):
$input = [ '۰۱۲۳۴۵۶۷۸۹' ];
$rules = [ 'persian_num' ];
Validator::make( $input, $rules );
Validate Persian alpha num:
$input = [ '۰فارسی۱۲۳۴۵۶۷۸۹' ];
$rules = [ 'persian_alpha_num' ];
Validator::make( $input, $rules );
Validate Persian alpha num with english num:
$input = [ '۰فارسی۱۲۳۴۵6789' ];
$rules = [ 'persian_alpha_eng_num' ];
Validator::make( $input, $rules );
Validate shamsi (jalali) date:
$input = [ '1373/3/19' ];
$rules = [ 'shamsi_date' ];
Validator::make( $input, $rules );
Validate shamsi (jalali) date between years:
$input = [ '1373/3/19' ];
$rules = [ 'shamsi_date_between:1300,1400' ];
Validator::make( $input, $rules );
Validate Iranian mobile numbers (Irancell, Rightel, Hamrah-e-aval, ...):
$input = [ '09381234567' ];
$rules = [ 'ir_mobile' ];
Validator::make( $input, $rules );
Validate Iranian bank sheba numbers:
$input = [ 'IR062960000000100324200001' ];
$rules = [ 'ir_sheba' ];
Validator::make( $input, $rules );
Validate Iranian national code (Melli Code):
$input = [ '3240175800' ];
$rules = [ 'ir_national_code' ];
Validator::make( $input, $rules );
Validate Iranian bank payment card numbers:
$input = [ '6274129005473742' ];
$rules = [ 'ir_bank_card_number' ];
Validator::make( $input, $rules );
Validate Iranian postal code:
$input = [ '167197-35744' ];
$rules = [ 'ir_postal_code' ];
Validator::make( $input, $rules );
or
$input = [ '16719735744' ];
$rules = [ 'ir_postal_code' ];
Validator::make( $input, $rules );
Full list of Persian Validation rules usage:
Validator::make( $request->all(), [
'name' => 'persian_alpha|unique|max:25', // Validate Persian alphabet, unique and max to 25 characters
'age' => 'persian_num|required', // Validate Persian numbers and check it's required
'city' => 'persian_alpha_num|min:10', // Validate persian alphabet & numbers at least 10 digit accepted
'address' => 'persian_alpha_eng_num', // Validate persian alphabet & numbers with english numbers
'birthday' => 'shamsi_date', // Validate shamsi date
'start_date' => 'shamsi_date_between:1300,1400', // Validate shamsi date between years
'mobile' => 'ir_mobile', // Validate mobile number
'sheba_number' => 'ir_sheba', // Validate sheba number of bank account
'melli_code' => 'ir_national_code', // Validate melli code number
'latin_name' => 'persian_not_accept', // Validate alphabet and doesn't contain Persian alphabet or number
'url' => 'a_url', // Validate url
'domain' => 'a_domain', // Validate domain
'phone' => 'ir_phone', // Validate phone number
'area_code' => 'ir_phone_code', // Validate phone area code
'phone_code' => 'ir_phone_with_code', // Validate phone number with area code
'card_number' => 'ir_bank_card_number', // Validate payment card number
'postal_code' => 'ir_postal_code' // validate iran postal code format
]);
The MIT license (MIT). Please see License File for more information.