دیزاتک / helper
این یک بسته از توابع کمکی ساده است که ممکن است در هر پروژه Laravel مفید باشند.
Requires
- php: ^8.0
- illuminate/support: ^9.19|^10.40|^11.0
Requires (Dev)
- phpunit/phpunit: ^9.5.10|^10.4|^11.0.1
README
دیزاتک یک بسته است که برای افزودن اعتبارسنجی، بانک و توابع کمکی به پروژههای Laravel با توجه به نیازهای پروژههای ایرانی/پarsi توسعه داده شده است. این بسته به شدت از آثار دوست عزیز و همکار من @imvahid الهام گرفته است.
نصب
- بسته را از طریق composer درخواست کنید
composer require dizatech/helper
- دستور زیر را برای منتشر کردن فایلهای بسته اجرا کنید
php artisan vendor:publish --provider=Dizatech\Helper\DizatechHelperServiceProvider
قوانین اعتبارسنجی
کد ملی
برای اعتبارسنجی کد ملی شخص حقیقی
برای افزودن به لیست قوانین اعتبارسنجی، new NationalCode()
را اضافه کنید. رشتهای که برای اعتبارسنجی ارائه میشود باید ۱۰ کاراکتر باشد. کدهای ملی که با صفر(ها) در ابتدا شروع میشوند باید به عنوان رشتهای با صفرهای پیشرو ارائه شوند. توصیه میشود کدهای ملی را قبل از استفاده برای هر منظوری، از جمله اعتبارسنجی، صفرپاد شود.
مثال صفرپاد کردن
php ساده
$national_code = str_pad($code, 10, '0', STR_PAD_LEFT);
داخل فایل درخواست Laravel
<?php namespace App\Http\Requests; use Dizatech\Helper\Rules\NationalCode; use Illuminate\Foundation\Http\FormRequest; class MyRequest extends FormRequest { /** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { return true; } /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'national_code' => ['required', new NationalCode()], ]; } public function prepareForValidation() { if ($this->has('national_code')) { $this->merge([ 'national_code' => str_pad($this->national_code, 10, '0', STR_PAD_LEFT) ]); } } }
اعتبارسنجی در کنترلکننده Laravel
public function handleForm(Request $request) { if ($request->has('national_code')) { $request->merge( ['national_code' => str_pad($this->national_code, 10, '0', STR_PAD_LEFT)] ); } $rules = [ 'national_code' => ['required', new NationalCode()], ]; $request->validate($rules); });
شناسه ملی
برای اعتبارسنجی شناسه ملی شخص حقوقی
برای افزودن به لیست قوانین اعتبارسنجی، new Nationalid()
را اضافه کنید. رشتهای که برای اعتبارسنجی ارائه میشود باید ۱۱ کاراکتر باشد.
بینالمللیسازی
اگر هنوز دستور php artisan vendor:publish
را اجرا نکردهاید، ابتدا دستور زیر را برای منتشر کردن فایلهای زبان اجرا کنید
php artisan vendor:publish --provider=Dizatech\Helper\DizatechHelperServiceProvider
فایلهای زبان به دایرکتوریهای en
و fa
داخل پوشه lang
پروژه شما کپی خواهند شد. میتوانید پیامهای خطا را به دلخواه شخصیسازی کنید. مطمئن شوید که locale درست برای برنامه خود در فایل config/app.php
تنظیم شده است. برای فارسی باید به صورت زیر باشد
'locale' => 'fa'