J'ai un problème très étrange. Lorsque je soumets le formulaire, une erreur de validation côté serveur est générée.
Voici mon contrôleur simple:
namespace App\Http\Controllers;
use Newsletter;
use Illuminate\Http\Request;
class SubscriptionController extends Controller
{
public function subscribe(Request $request)
{
$request->validate([
'email' => 'required|email',
]);
}
}
La soumission du formulaire me donne:
BadMethodCallException La méthode validate n'existe pas.
cela devrait fonctionner selon:
Dans docs dit:
$this->validate($request, [
'email' => 'required|email',
]);
Cette chaîne - fonctionne :)
Vous devriez essayer ceci:
$validateFields = array('email' => 'required|email');
$this->validate($request, $validateFields);
OU
$this->validate($request, [
'email' => 'required|email'
]);
Eh bien, cela signifie qu’il n’est plus disponible dans la version 5.4, mais qu’il est disponible dans le contrôleur
Essayer:
$this->validate($request, [
'email' => 'required|email',
]);
En fait, si vous ajoutez le bon contrôleur, la méthode validate devrait déjà être incluse. Vous pouvez essayer d'ajouter ci-dessous contrôleur.
Au lieu: use App\Http\Controllers\Controller;
$validator = \Validator::make($request->all(), [
'mobile_number' => 'required',]);
if ($validator->fails()) {
return redirect()->back()
->withErrors($validator)
->withInput();
}
J'espère que ça marche pour vous ..
Vous pouvez utiliser le fournisseur de services 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',
]);
}