2017-08-21 68 views
6

Tôi có một vấn đề rất lạ. Khi tôi gửi biểu mẫu, nó sẽ gửi một lỗi với xác thực phía máy chủ.Phương thức xác thực không tồn tại - Laravel 5.4

Đây là bộ điều khiển đơn giản của tôi:

namespace App\Http\Controllers; 

use Newsletter; 
use Illuminate\Http\Request; 

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

Nộp theo hình thức mang lại cho tôi:

BadMethodCallException phương thức validate không tồn tại.

nó nên làm việc theo:

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

+0

Các trang liên kết không có bất kỳ đề cập đến một '$ request-> validate'. nó có nhiều đề cập đến '$ this-> validate ($ request, ...)' mặc dù – apokryfos

+0

@apokryfos có, tôi cũng thấy rằng sau này, xấu của tôi. –

Trả lời

14

Trong tài liệu cho biết:

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

Chuỗi này - công trình :)

4

Vâng nghĩa của nó không còn có sẵn trong 5.4 tuy nhiên nó có sẵn trong bộ điều khiển

Hãy thử:

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

Bạn nên cố gắng này:

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

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

HOẶC

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

Hope tác phẩm này với bạn !!!!

+0

@Parth Vora: Rất vui được trợ giúp và nếu câu trả lời của tôi là giải pháp của bạn thì vui lòng chấp nhận câu trả lời của tôi .. –

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

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

Hope làm việc này cho bạn ..

1

Bạn có thể sử dụng cung cấp dịch vụ Validator.

 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

phép thêm hai gói những Best of luck

sử dụng Illuminate \ Support \ Mặt tiền \ Validator; sử dụng Illuminate \ Foundation \ Auth \ RegistersUsers;

0

Thực tế Nếu bạn thêm bộ điều khiển phù hợp, phương pháp xác thực phải được bao gồm. Bạn có thể thử thêm bộ điều khiển bên dưới.

Thay vào đó: use App\Http\Controllers\Controller;

Các vấn đề liên quan