این یک بسته از توابع کمکی ساده است که ممکن است در هر پروژه Laravel مفید باشند.

v0.2.2 2024-09-28 08:13 UTC

This package is auto-updated.

Last update: 2024-09-28 08:13:41 UTC


README

دیزاتک یک بسته است که برای افزودن اعتبارسنجی، بانک و توابع کمکی به پروژه‌های Laravel با توجه به نیازهای پروژه‌های ایرانی/پarsi توسعه داده شده است. این بسته به شدت از آثار دوست عزیز و همکار من @imvahid الهام گرفته است.

نصب

  1. بسته را از طریق composer درخواست کنید
composer require dizatech/helper
  1. دستور زیر را برای منتشر کردن فایل‌های بسته اجرا کنید
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'