mahdiidea/validation

Laravel persian validation

0.3 2019-12-05 14:49 UTC

This package is auto-updated.

Last update: 2020-01-05 15:02:45 UTC


README

Laravel Persian Validation provides validation for Persian alphabet, number and etc.

Requirement

  • Laravel 5.*
  • PHP 5.5 >=

License

Laravel Persian Validation is open-sourced software licensed under the MIT license

Install

Via Composer

$ composer require mahdiidea/validation

Config

Add the following provider to providers part of config/app.php

MahdiIDea\Validation\PersianValidationServiceProvider::class,

vendor:publish

You can run vendor:publish command to have custom lang file of package on this path ( resources/lang/validation )

Usage

You can access to validation rules by passing the rules key according blew following table:

Rules Descriptions
persian_alpha Persian alphabet
persian_num Persian numbers
persian_alpha_num Persian alphabet and numbers
iran_mobile Iran mobile numbers
sheba Iran Sheba numbers
melli_code Iran melli code
is_not_persian Doesn't accept Persian alphabet and numbers
limited_array Check variable is array and array must be lesser and equal than parameter
unsigned_num Check variable is unsigned numbers
alpha_space Accept Persian, English and ... alphabet, space character
a_url Check correct URL
a_domain Check correct Domain
more Check value be max and not equal too
less Check value be min and not equal too
iran_phone Iran phone numbers
card_number Payment card numbers
address Accept Persian, English and ... alphabet, Persian and English numbers and some special characters
iran_postal_code Iran postal code
package_name Check APK package name

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 );

Iran mobile phone

Validate Iran mobile phones (irancel, rightel, hamrah-e-aval, ...):

$input = [ '09381234567' ];

$rules = [ 'iran_mobile' ];

Validator::make( $input, $rules );

Sheba number

Validate Iran bank sheba numbers:

$input = [ 'IR062960000000100324200001' ];

$rules = [ 'sheba' ];

Validator::make( $input, $rules );

Iran national code

Validate Iran national code (melli-code):

$input = [ '3240175800' ];

$rules = [ 'melli_code' ];

Validator::make( $input, $rules );

Payment card number

Validate Iran payment card numbers:

$input = [ '6274129005473742' ];

$rules = [ 'card_number' ];

Validator::make( $input, $rules );

Iran postal code

Validate Iran postal code:

$input = [ '167197-35744' ];

$rules = [ 'iran_postal_code' ];

Validator::make( $input, $rules );


$input = [ '16719735744' ];

$rules = [ 'iran_postal_code' ];

Validator::make( $input, $rules );

More

Here is full list of Anetwork 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

  'mobile'        => 'iran_mobile', // Validate mobile number

  'sheba_number'  => 'sheba', // Validate sheba number of bank account

  'melli_code'    => 'melli_code',  // Validate melli code number

  'latin_name'    => 'is_not_persian',  // Validate alphabet and doesn't contain Persian alphabet or number

  'your_array'    => 'limited_array:2', // Validate your array variable and must be contian 2 member or lesser

  'url'           => 'a_url', // Validate url

  'domain'        => 'a_domain',  // Validate domain

  'more'          => 'more:10', // Validate value be more than parameter

  'less'          => 'less:10', // Validate value be less than parameter

  'phone'         => 'iran_phone', // Validate phone number

  'card_number'   => 'card_number', // Validate payment card number

  'address'       => 'address' // validate Persian, English and ... alphabet, Persian and English numbers and some special characters

  'postal_code'   => 'iran_postal_code' // validate iran postal code format

  'package_name'  => 'package_name' // validate APK package name


]);