सत्यापन और प्राधिकरण तर्क लिखने का अनुशंसित तरीका उस तर्क को अलग-अलग अनुरोध कक्षाओं में रखना है। इस तरह आपका कंट्रोलर कोड साफ रहेगा।
आप निष्पादित करके अनुरोध वर्ग बना सकते हैं php artisan make:request SomeRequest
।
प्रत्येक अनुरोध में कक्षा की rules()
विधि आपके सत्यापन नियमों को परिभाषित करती है:
//SomeRequest.php
public function rules()
{
return [
"name" => [
'required',
'array', // input must be an array
'min:3' // there must be three members in the array
],
"name.*" => [
'required',
'string', // input must be of type string
'distinct', // members of the array must be unique
'min:3' // each string must have min 3 chars
]
];
}
अपने कंट्रोलर में अपने रूट फंक्शन को इस तरह लिखें:
// SomeController.php
public function store(SomeRequest $request)
{
// Request is already validated before reaching this point.
// Your controller logic goes here.
}
public function update(SomeRequest $request)
{
// It isn't uncommon for the same validation to be required
// in multiple places in the same controller. A request class
// can be beneficial in this way.
}
प्रत्येक अनुरोध वर्ग प्री-और पोस्ट-वेकेशन हुक / विधियों के साथ आता है, जिन्हें व्यावसायिक तर्क और विशेष मामलों के आधार पर अनुकूलित किया जा सकता है ताकि अनुरोध वर्ग के सामान्य व्यवहार को संशोधित किया जा सके।
आप समान प्रकार के अनुरोधों (जैसे ) web
और अनुरोधों के लिए माता-पिता अनुरोध कक्षाएं बना सकते हैं api
और फिर इन मूल कक्षाओं में कुछ सामान्य अनुरोध तर्क संलग्न कर सकते हैं।
$request->validate([...])
। यदि डेटा सत्यापन विफल रहता है, तो एक अपवाद उठाया जाएगा।