Как я могу получить доступ к правилам проверки Laravel 5.1? - PullRequest
0 голосов
/ 19 мая 2018

Как я могу получить доступ ко всем методам, которые Laravel 5.1 предоставляет нам для проверки.Например, я сделал пользовательский запрос с помощью команды artisan php artisan make: request EventRequest , в этом файле есть открытая функция rules () {return [];} в этой функции вы можете указать имена атрибутов html и необходимые вам правила валидации.Как я могу получить доступ к этим правилам проверки (путь к этим правилам). Обратите внимание, что я не хочу создавать пользовательские правила проверки, чтобы получить доступ к существующим.

Ответы [ 2 ]

0 голосов
/ 19 мая 2018

Я уверен, что вы уже знаете о документированном списке доступных правил проверки .

Если вы просто хотите получить доступ к коду, который используется для оценки этих правил: вВ Laravel 5.1 эти имена встроенных правил сопоставляются с методами, определенными непосредственно в классе Validator .(Вы также можете проверить ссылку API для этого класса )

Например, 'digits_between' в конечном итоге будет использовать метод validateDigitsBetween() для этого класса.Однако, поскольку это защищенные методы, вы не можете вызывать их напрямую самостоятельно.Вы должны использовать Validator::make($request, $rules).См. документы по этому .

(В Laravel 5.6 эти методы имеют черту, называемую ValidatesAttributes . Поэтому, если по какой-либо причине вы хотели использовать их напрямую,Вы можете просто использовать эту черту в своем классе.)

0 голосов
/ 19 мая 2018

В вашем контроллере замените Request на ваше пространство имен проверки, вероятно, вот так App\Http\Requests\EventRequest, поэтому оно должно выглядеть так.

от

public function store(Request $requests)
{
   // code here
}

до

public function store(App\Http\Requests\EventRequest $requests) 
{
   // code here
}

, иначе вы можете использовать свое пространство имен проверки следующим образом:

use App\Http\Requests\EventRequest;

SomeControllerClass extends Controller { 
    public function store(EventRequest $requests) 
    {
       // code here
    }
} 

Надеюсь, что это поможет.

...