va / cutlet-helper
用于在 Laravel 应用中使用辅助函数和伊朗验证器的软件包。
Requires
- php: ^7.1.3|8.*
- laravel/framework: 7.*|8.*|9.*
- dev-master
- v1.5.5
- v1.5.4
- v1.5.3
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.9
- v1.4.8
- v1.4.7
- v1.4.6
- v1.4.5
- v1.4.4
- v1.4.3
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.9
- v1.2.8
- v1.2.7
- v1.2.6
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.9
- v1.1.7
- v1.1.6
- v1.1.5
- v1.1.4
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
This package is auto-updated.
Last update: 2024-09-12 16:44:50 UTC
README
快速链接
安装
composer require va/cutlet-helper
发布配置文件
php artisan vendor:publish --tag=cutlet-helper
包中存在的辅助函数和外观
integerToken($length = 5) // Generate integer token or code stringToken($length = 16, $characters = '2345679acdefghjkmnpqrstuvwxyz') // Generate string token or code digitsToEastern($number) // Covert a Weatern number(English) or digits to Eastern number(Persian or Arabic) easternToDigits($number) // Covert a Eastern number(Persion, Arabic) to Eastern number(English) isActive($key, $activeClassName = 'active') // Check the route name(string) or route names(array) is avtive or no for css classes prepareInteger(input: string or integer) // removes `,` from integer (can be used in request for prices) prepareSlug(slug, title, model) // generate clean slug from title and checks slug unique in specific model
辅助函数使用方法
// With Facade format: CutletHelper::integerToken(length: 10); CutletHelper::stringToken(length: 32, characters: '2345679acdefghjkmnpqrstuvwxyz'); CutletHelper::digitsToEastern(number: 1375); CutletHelper::easternToDigits(number: ۱۳۷۵); CutletHelper::isActive(key: ['posts.index', 'posts.create', 'posts.edit'], activeClassName: 'acive'); CutletHelper::prepareInteger(input: string or integer); CutletHelper::prepareSlug(slug, title, model); // Call a helper function: integerToken(length: 10) stringToken(length: 32, characters: '2345679acdefghjkmnpqrstuvwxyz'); digitsToEastern(number: 1375); easternToDigits(number: ۱۲۳۴۵); isActive(key: ['posts.index', 'posts.create', 'posts.edit'], activeClassName: 'acive'); prepareInteger(input: string or integer); prepareSlug(slug, title, model);
包中存在的验证器
- 国家代码(کد ملی)
- IBAN(شماره شبا)
- 借记卡(شماره کارت بانکی)
- 邮政编码(کد پستی)
- Shenase Meli(شناسه ملی)
- 移动电话(موبایل)
- 电话(تلفن ثابت)
- 唯一动态(تشخیص یکتایی دو ستونه)
- 波斯语字母(الفبای فارسی)
- 波斯数字(اعداد فارسی)
验证器使用方法
national_code
验证伊朗国家代码的规则 (计算方法)
return [ 'code' => 'required|national_code' ]; // For national_code with exeptions code or valid codes for foreign national codes // First step for use this parameters is migrate, php artisan migrate, and save your exeptions in this table // but if you want to use another table you can set your table and column return [ 'code' => 'required|national_code:national_code_exceptions' // This is default table that contains exeption codes // -- OR -- 'code' => 'required|national_code:national_code_exceptions,code' // Second parameter is column of exeption table ]; // -- OR -- return [ 'code' => ['required', 'national_code'] ]; // -- OR -- $validatedData = $request->validate([ 'code' => 'national_code', ]);
iban
验证 IBAN(国际银行账户号码)的规则,在伊朗被称为 Sheba。 (计算方法)
return [ 'account' => 'iban' ]; // -- OR -- // Add `false` optional parameter after `iban`, If IBAN doesn't begin with `IR`, so the validator will add `IR` as default to the account number: return [ 'account' => 'iban:false' ]; // -- OR -- // If you want to validate non Iranian IBAN, add the 2 letters of country code after `false` optional parameter: return [ 'account' => 'iban:false,DE' ];
debit_card
验证伊朗借记卡的规则。 (计算方法)
return [ 'code' => 'required|debit_card' ]; // -- OR -- return [ 'code' => ['required', 'debit_card'] ]; // -- OR -- $validatedData = $request->validate([ 'code' => 'debit_card', ]); // -- OR -- // You can add an optional parameter if you want to validate a card from a specific bank: return [ 'code' => 'required|debit_card:bmi' ]; /* List of the bank codes: - bmi (بانک ملی) - banksepah (بانک سپه) - edbi (بانک توصعه صادرات) - bim (بانک صنعت و معدن) - bki (بانک کشاورزی) - bank-maskan (بانک مسکن) - postbank (پست بانک ایران) - ttbank (بانک توسعه تعاون) - enbank (بانک اقتصاد نوین) - parsian-bank (بانک پارسیان) - bpi (بانک پاسارگاد) - karafarinbank (بانک کارآفرین) - sb24 (بانک سامان) - sinabank (بانک سینا) - sbank (بانک سرمایه) - shahr-bank (بانک شهر) - bank-day (بانک دی) - bsi (بانک صادرات) - bankmellat (بانک ملت) - tejaratbank (بانک تجارت) - refah-bank (بانک رفاه) - ansarbank (بانک انصار) - mebank (بانک مهر اقتصاد) */
postal_code
return [ 'code' => 'required|postal_code' ]; // --OR-- return [ 'code' => ['required, 'postal_code'] ]; // --OR-- $validatedData = $request->validate([ 'code' => 'postal_code', ]);
shenase_meli
验证伊朗 shenase meli 的规则 (计算方法)
return [ 'code' => 'required|shenase_meli' ]; // --OR-- return [ 'code' => ['required, 'shenase_meli'] ]; // --OR-- $validatedData = $request->validate([ 'code' => 'shenase_meli', ]);
mobile
return [ 'mobile' => 'required|mobile' ]; // --OR-- return [ 'mobile' => ['required, 'mobile'] ]; // --OR-- $validatedData = $request->validate([ 'mobile' => 'mobile', ]);
用户名(有效字符:英文字母、数字和 _)
return [ 'username' => 'required|username' ]; // --OR-- return [ 'username' => ['required, 'username'] ]; // --OR-- $validatedData = $request->validate([ 'username' => 'username', ]);
phone
return [ 'phone' => 'required|phone' ]; // --OR-- return [ 'phone' => ['required, 'phone'] ]; // --OR-- $validatedData = $request->validate([ 'phone' => 'phone', ]);
unique_dynamic (table_name, target_column, extra_column, extra_column_value, ignore_column, ignore_column_value)
return [ // Without ignore for create user, 4 parameters // If we want to check a username is unique in users table when type of this useranme equal student // If username = 'v.ashourzadeh' and type = 'student' you can't create username = 'v.ashourzadeh' but create username = 'v.ashourzadeh' if type = 'teacher' 'username' => 'required|unique_dynamic:users,username,type,student' // With ignore for edit user, 6 parameters // If we want to check a username is unique in users table and ignore this for special id, for example id = 5 // If username = 'v.ashourzadeh' and type = 'student' you can set username = 'v.ashourzadeh' when id = 5 'username' => 'required|unique_dynamic:users,username,type,student,id,5' ]; // --OR-- return [ // Without ignore for create user, 4 parameters 'username' => ['required, 'unique_dynamic:users,username,type,student'] // With ignore for edit user, 6 parameter 'username' => ['required, 'unique_dynamic:users,username,type,student,id,5'] ]; // --OR-- $validatedData = $request->validate([ // Without ignore for create user, 4 parameters 'username' => 'unique_dynamic:users,username,type,student', // With ignore for edit user, 6 parameter 'username' => 'unique_dynamic:users,username,type,student,id,5', ]);
persian_alphabetic
return [ 'code' => 'required|persian_alphabetic' ]; // --OR-- return [ 'code' => ['required, 'persian_alphabetic'] ]; // --OR-- $validatedData = $request->validate([ 'code' => 'persian_alphabetic', ]);
persian_number
return [ 'code' => 'required|persian_number' ]; // --OR-- return [ 'code' => ['required, 'persian_number'] ]; // --OR-- $validatedData = $request->validate([ 'code' => 'persian_number', ]);
类别使用方法
本软件包为以下表结构提供类别处理功能,使用 Category
模型
categories => id, slug, title, category_type, description, parent_id, creator_id
categorizables => category_id, categorizable_id, categorizable_type
在类别创建模板中使用
<x-category-options page="create" type="serviceCategory"></x-category-options>
-
此标签生成选择选项,因此您可以在选择或 select2 标签中使用它。
-
type:在表结构中使用的类别类型,例如 postCategory
-
page:包含当前标签的 blade 页面
在类别编辑模板中使用
<x-category-options page="edit" type="serviceCategory" parent="{{ $category->parent_id }}" category="{{ $category->id }}"></x-category-options>
-
parent:包含当前类别 parent_id
-
category:包含当前类别_id
在包含类别的特定创建模板中使用
<x-category-checkboxes page="create" type="serviceCategory"></x-category-checkboxes>
-
此标签生成复选框,因此您可以在任何 div 标签中使用它。
-
type:在表结构中使用的类别类型,例如 postCategory
-
page:包含当前标签的 blade 页面
在包含类别的特定编辑模板中使用
<x-category-checkboxes type="serviceCategory" page="edit" checked="{{ $service->categories->pluck('id') }}"></x-category-checkboxes>
- checked:包含与主对象同步的类别的数组,例如 services->categories
要求
- PHP v7.0 或更高版本
- Laravel v7.0 或更高版本