2017-08-21 65 views
6

मुझे बहुत अजीब समस्या है। जब मैं फॉर्म सबमिट कर रहा हूं, तो यह सर्वर-साइड सत्यापन के साथ एक त्रुटि फेंकता है।विधि मान्य नहीं है - लैरवेल 5.4

namespace App\Http\Controllers; 

use Newsletter; 
use Illuminate\Http\Request; 

class SubscriptionController extends Controller 
{ 
    public function subscribe(Request $request) 
    { 
     $request->validate([ 
      'email' => 'required|email', 
      ]); 
    } 
} 

प्रपत्र को जमा मुझे देता है::

BadMethodCallException विधि मान्य मौजूद नहीं है

यहाँ मेरी सरल नियंत्रक है।

यह के अनुसार काम करना चाहिए:

https://laravel.com/docs/5.4/validation

+0

लिंक किए गए पृष्ठ एक '$ अनुरोध> validate' का कोई उल्लेख नहीं है। इसमें '$ this-> मान्य ($ अनुरोध, ...) के कई उल्लेख हैं, हालांकि – apokryfos

+0

@apokryfos हां, मैंने यह भी पाया कि बाद में, मेरे खराब। –

उत्तर

14

डॉक्स में कहा:

$this->validate($request, [ 
    'email' => 'required|email', 
]); 

इस स्ट्रिंग - काम करता है :)

4

खैर 5.4 में अपनी अब उपलब्ध नहीं है इसका मतलब हालांकि यह नियंत्रक

में उपलब्ध है 210

प्रयास करें:

$this->validate($request, [ 
    'email' => 'required|email', 
]); 
6

आप इस प्रयास करना चाहिए:

$validateFields = array('email' => 'required|email'); 

$this->validate($request, $validateFields); 

या

$this->validate($request, [ 
    'email' => 'required|email' 
]); 

आशा आप के लिए यह काम !!!!

+0

@ पार्थ वोरा: मदद करने में खुशी हुई और अगर मेरा जवाब आपका समाधान है तो कृपया मेरा जवाब स्वीकार करें .. –

2
**$validator = \Validator::make($request->all(), [ 
      'mobile_number' => 'required', 
      ]);** 

     if ($validator->fails()) { 
      return redirect()->back() 
      ->withErrors($validator) 
      ->withInput(); 
     } 

आशा यह आपके लिए काम करता है ..

1

आप सत्यापनकर्ता सेवा प्रदाता का उपयोग कर सकते हैं।

 namespace App\Http\Controllers; 

    use Newsletter; 
    use Illuminate\Http\Request; 
    use Validator; 

    class SubscriptionController extends Controller 
    { 
      public function subscribe(Request $request) 
      { 
        $request->validate($request->all(),[ 
        'email' => 'required|email', 
        ]); 
      } 
0

इन दो संकुल बेस्ट ऑफ लक

उपयोग रोशन \ Support \ Facades \ सत्यापनकर्ता जोड़ सकते हैं; रोशनी \ फाउंडेशन \ Auth \ RegistersUsers का उपयोग करें;

0

असल में यदि आप सही नियंत्रक जोड़ते हैं, तो सत्यापन विधि पहले ही शामिल होनी चाहिए। आप नीचे नियंत्रक जोड़ने का प्रयास कर सकते हैं।

इसके बजाय

: use App\Http\Controllers\Controller;

संबंधित मुद्दे