sadegh19b / laravel-persian-validation
A persian alphabet, number and etc. validation package for laravel
Installs: 47 535
Dependents: 0
Suggesters: 0
Security: 0
Stars: 140
Watchers: 2
Forks: 16
Open Issues: 0
Requires
- php: ~7.4|^8.0|^8.1|^8.2
- illuminate/support: ^6|^7|^8|^9|^10|^11
Requires (Dev)
- phpunit/phpunit: ^8|^9|^10
README
Laravel Persian Validation Provides validation for Persian alphabet, number and etc.
Requirement
- Laravel 6, 7, 8, 9, 10, 11
- PHP 7.4 , 8, 8.1, 8.2
Install
Via Composer
composer require sadegh19b/laravel-persian-validation
Publishing Language Files
To publish the language files for custom validation messages, execute the following command. This will place the file at resources/lang/{locale}/persian-validation.php.
php artisan vendor:publish --provider="Sadegh19b\LaravelPersianValidation\PersianValidationServiceProvider"
Usage
You can access to validation rules by passing the rules key according blew following table:
Persian Alpha
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 );
Persian numbers
Validate Persian standard numbers (۰۱۲۳۴۵۶۷۸۹):
$input = [ '۰۱۲۳۴۵۶۷۸۹' ]; $rules = [ 'persian_num' ]; Validator::make( $input, $rules );
Persian Alpha Num
Validate Persian alpha num:
$input = [ '۰فارسی۱۲۳۴۵۶۷۸۹' ]; $rules = [ 'persian_alpha_num' ]; Validator::make( $input, $rules );
Persian Alpha Eng Num
Validate Persian alpha num with english num:
$input = [ '۰فارسی۱۲۳۴۵6789' ]; $rules = [ 'persian_alpha_eng_num' ]; Validator::make( $input, $rules );
Shamsi Date
Validate shamsi (jalali) date:
$input = [ '1373/3/19' ]; $rules = [ 'shamsi_date' ]; Validator::make( $input, $rules );
Shamsi Date Between
Validate shamsi (jalali) date between years:
$input = [ '1373/3/19' ]; $rules = [ 'shamsi_date_between:1300,1400' ]; Validator::make( $input, $rules );
Iran mobile phone
Validate Iranian mobile numbers (Irancell, Rightel, Hamrah-e-aval, ...):
$input = [ '09381234567' ]; $rules = [ 'ir_mobile' ]; Validator::make( $input, $rules );
Sheba number
Validate Iranian bank sheba numbers:
$input = [ 'IR062960000000100324200001' ]; $rules = [ 'ir_sheba' ]; Validator::make( $input, $rules );
Iran national code
Validate Iranian national code (Melli Code):
$input = [ '3240175800' ]; $rules = [ 'ir_national_code' ]; Validator::make( $input, $rules );
Payment card number
Validate Iranian bank payment card numbers:
$input = [ '6274129005473742' ]; $rules = [ 'ir_bank_card_number' ]; Validator::make( $input, $rules );
Iran postal code
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 );
Iran company id
Validate Iranian National Legal Entity Identifier (Shenase Melli Ashkhas Hoghoghi)
$input = [ '14007650912' ]; $rules = [ 'ir_company_id' ]; Validator::make( $input, $rules );
More
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 'company_id' => 'ir_company_id', // Iranian National Legal Entity Identifier (Shenase Melli Ashkhas Hoghoghi) ]);
License
The MIT license (MIT). Please see License File for more information.