تالار گفتمان nCIS.ir

نسخه‌ی کامل: نحوه رجیستر کردن قانون اعتبار سنجی دلخواه
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام. وقتی که قانون جدیدی رو برای ولید کردن داده ها تو کنترلر میخواییم تعریف کنیم و یه قانون جدید ایجاد میکنیم اون چطور میتونیم رجیستر کنیم؟ بدون اینکه اون رو داخل فایل route بنویسیم؟

مثلا:

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

       }); 
با استفاده از Service Container و Service Provider
برای همین منظور
کافیه کلاس زیر رو درون پوشه Provider اضافه کنید
<?php namespace AppProviders;

use IlluminateSupportServiceProvider;

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

    'AppProvidersValidatorServiceProvider',
],
ممنون.
منظور از register چیه؟
اینجا رو بخونید توضیح داده

laravel.com/docs/master/providers

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

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