Ответ 1
В документах сказано:
$this->validate($request, [
'email' => 'required|email',
]);
Эта строка - работает:)
У меня очень странная проблема. Когда я отправляю форму, она выдает ошибку с проверкой на стороне сервера.
Вот мой простой контроллер:
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
В документах сказано:
$this->validate($request, [
'email' => 'required|email',
]);
Эта строка - работает:)
Вы должны попробовать это:
$validateFields = array('email' => 'required|email');
$this->validate($request, $validateFields);
ИЛИ ЖЕ
$this->validate($request, [
'email' => 'required|email'
]);
Хорошо означает, что он больше не доступен в 5.4, но его доступно в контроллере
Try:
$this->validate($request, [
'email' => 'required|email',
]);
$validator = \Validator::make($request->all(), [
'mobile_number' => 'required',]);
if ($validator->fails()) {
return redirect()->back()
->withErrors($validator)
->withInput();
}
Надеюсь, что это работает для вас..
На самом деле Если вы добавите правильный контроллер, метод проверки должен быть уже включен. Вы можете попробовать добавить ниже контроллера.
Вместо того, чтобы:
use App\Http\Controllers\Controller;
Вы можете использовать поставщика услуг 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',
]);
}
позволяет добавить эти два пакета Желаем удачи.
использовать Illuminate\Support\Facades\Validator; используйте Illuminate\Foundation\Auth\RegistersUsers;