رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
نحوه رجیستر کردن قانون اعتبار سنجی دلخواه
#1
سلام. وقتی که قانون جدیدی رو برای ولید کردن داده ها تو کنترلر میخواییم تعریف کنیم و یه قانون جدید ایجاد میکنیم اون چطور میتونیم رجیستر کنیم؟ بدون اینکه اون رو داخل فایل route بنویسیم؟

مثلا:

Validator::extend('alpha_spaces', function($attribute, $value)
        {

       }); 
پاسخ
تشکر شده توسط:
#2
با استفاده از Service Container و Service Provider
برای همین منظور
کافیه کلاس زیر رو درون پوشه Provider اضافه کنید
<?php namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class ValidatorServiceProvider extends ServiceProvider {

   public function boot()
   {
      $this->app['validator']->extend('alpha_spaces', function ($attribute, $value)
       {

       });
   }

   public function register()
   {
    
   }
}
وبعد انو بصورت زیر درون فایل config/app.php رجیستر کنید
'providers' => [
    // Other Service Providers

    'App\Providers\ValidatorServiceProvider',
],

یادگیری مداوم حداقل شرط لازم برای موفقیت در هر زمینه ای است که در آن فعالیت می کنید؛ هر روز چیز جدیدی بیاموزید.
پاسخ
تشکر شده توسط: tux-world
#3
ممنون.
منظور از register چیه؟
پاسخ
تشکر شده توسط:
#4
اینجا رو بخونید توضیح داده

laravel.com/docs/master/providers

برای استفاده از یک یا چند سرویس دیگه ابتدا باید مطمن شد که اون سرویس ها قبلا رجیستر شده باشند.برای همین از متد بوت استفاده کردیم.

و از متد رجیستر برای bind کردن درون service container

یادگیری مداوم حداقل شرط لازم برای موفقیت در هر زمینه ای است که در آن فعالیت می کنید؛ هر روز چیز جدیدی بیاموزید.
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان