Résoudre le problème selon lequel Laravel ne peut pas détecter l'entrée "nom d'utilisateur"
P粉060112396
2023-08-15 14:50:48
<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>
Je viens d'ajouter le nom d'utilisateur dans app.php et puis ça a fonctionné
Vous pouvez ajouter
name
值设置为非空。如果您还想拥有name
和username
des attributs dans votre base de données (et migrations), il y a deux options :est l'attribut
name
属性设置默认值(或将其设置为可为空),并在数据库中使用迁移添加username
.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
)中,您必须将要填充的每个属性添加到$fillable
attributs :