Résoudre le problème selon lequel Laravel ne peut pas détecter l'entrée "nom d'utilisateur"
P粉060112396
P粉060112396 2023-08-15 14:50:48
0
2
416
<p>Je suis nouveau sur Laravel et mon code fonctionnait auparavant, mais j'ai changé "nom" en "nom d'utilisateur", puis si je clique sur Soumettre, il indique qu'il n'a pas de valeur par défaut. </p> <pre class="brush:php;toolbar:false;">class UserSignup étend le contrôleur { registre de fonctions publiques (Requête $requête) { $validatedData = $request->validate([ 'nom d'utilisateur' => ['obligatoire', 'string','max:255', Rule::unique('users')], 'email' => ['obligatoire', 'email', 'max:255', Rule::unique('users')], 'mot de passe' => 'obligatoire|min:8' ]); $validatedData['mot de passe'] = bcrypt($validatedData['mot de passe']); $user = Utilisateur::create($validatedData); return réponse()->json(['message' => 'Utilisateur créé avec succès !', 'user' => $user]); } }</pré> <p>J'ai essayé de remplacer "nom" par "nom d'utilisateur", comme indiqué ci-dessous</p> <pre class="brush:php;toolbar:false;">$validatedData = $request->validate([ 'nom d'utilisateur' => ['obligatoire', 'string','max:255', Rule::unique('users')], 'email' => ['obligatoire', 'email', 'max:255', Rule::unique('users')], 'mot de passe' => 'obligatoire|min:8' ]);≪/pré> <p>Après avoir cliqué sur Soumettre, une erreur apparaît indiquant qu'il n'y a pas de valeur par défaut. </p> <p>Je veux juste mettre le « nom d'utilisateur » dans la base de données. </p>
P粉060112396
P粉060112396

répondre à tous(2)
P粉799885311

Je viens d'ajouter le nom d'utilisateur dans app.php et puis ça a fonctionné

protected $fillable = [
        'username',
        'name',
        'email',
        'password',
    ];
P粉473363527

Vous pouvez ajouter name值设置为非空。如果您还想拥有nameusername des attributs dans votre base de données (et migrations), il y a deux options :

  1. est l'attribut name属性设置默认值(或将其设置为可为空),并在数据库中使用迁移添加username.

  2. Créez un champ name dans le formulaire d'inscription et demandez la validation, vous pouvez maintenant l'ajouter à l'enregistrement de la base de données.

Astuce : Dans votre fichier modèle (User.php)中,您必须将要填充的每个属性添加到$fillableattributs :

protected $fillable = ['name', 'username', ...];
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!