मैं सिंगल-एक्शन कंट्रोलर में एक सत्यापन डालने की कोशिश करता हूं और पोस्टमैन में एपीआई का परीक्षण करता हूं, लेकिन यह कुछ भी नहीं दिखाता है।

namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class BookableAvailabilityController extends Controller
{

public function __invoke(Request $request)
{
       $data = $request->validate([
         'from' => 'required|date_format:Y-m-d|after_or_equal:now',
         'to' => 'required|date_format:Y-m-d|after_or_equal:from',
]); 
 }
 }

और मैंने एपीआई फ़ाइल में मार्ग को परिभाषित किया:

Route::get('bookables/{bookable}/availability', 'Api\BookableAvailabilityController')

मार्ग सही है जैसा कि मार्ग में दिखाया गया है:सूची

enter image description here

लेकिन डाकिया कोड 200 दिखाता है कि सब कुछ ठीक है

enter image description here

3
FatSam8 6 नवम्बर 2020, 10:00

1 उत्तर

सबसे बढ़िया उत्तर

$request->validate विधि, यदि सत्यापन विफल हो जाता है, तो एक अपवाद फेंक दिया जाएगा और उचित त्रुटि प्रतिक्रिया स्वचालित रूप से उपयोगकर्ता को वापस भेज दी जाएगी। पारंपरिक HTTP अनुरोध के मामले में, एक रीडायरेक्ट प्रतिक्रिया उत्पन्न होगी, जबकि एक JSON प्रतिक्रिया AJAX अनुरोधों के लिए भेजी जाएगी।

आप सत्यापनकर्ता फ़ंक्शन का उपयोग कर सकते हैं। ताकि आप कस्टम प्रतिक्रिया पास कर सकें

$validator = Validator::make($request->all(), [ 
      'from' => 'required|date_format:Y-m-d|after_or_equal:now',
         'to' => 'required|date_format:Y-m-d|after_or_equal:from',
  ]);

  if ($validator->fails()) {
    return response()->json($validator->errors(), 422);
  }
0
iCoders 6 नवम्बर 2020, 07:21