La fonction renvoie vrai même si elle devrait renvoyer faux
P粉514458863
2023-08-16 19:57:43
<p>J'utilise NextJS pour créer un formulaire côté client. J'essaie de placer la validation du côté client du formulaire et de la placer dans une fonction distincte, mais chaque fois que j'exécute la fonction validateForm(), elle renvoie true quelle que soit l'entrée. J'ai l'impression de rater quelque chose de stupide ici, mais je me creuse la tête et je n'arrive à rien. Voici le code : </p>
<pre class="brush:php;toolbar:false;">const [jobSubmission, setJobSubmission] = useState({});
fonction handleChange (e){
const jobInputName = e.target.name;
const jobInputValue = e.target.value;
const newJobSubmission = {
...soumission d'emploi,
[nomJobInput] : valeurJobInput,
}
console.log (newJobSubmission)
setJobSubmission(newJobSubmission)
}
fonction validateForm (){
console.log("Validation en cours")
if(jobSubmission.jobCategory == `Veuillez sélectionner` || jobSubmission.jobCategory === null){
alert("Veuillez sélectionner la catégorie d'emploi")
retourner faux
}
if (jobSubmission.salarRange !== null && jobSubmission.timeOfPayment === null){
alert("Veuillez sélectionner la fréquence de paiement du salaire ou supprimer l'échelle salariale");
retourner faux
}
retourner vrai
}
fonction handleSubmission(){
const isReady = validerForm()
console.log(isReady)
si (isReady === vrai){
// Ajouter un identifiant unique
const finalJobObject = {
...soumission d'emploi,
ID de travail : uniqid()
}
envoyerJobToDB (finalJobObject)
window.location = "/post-a-job/merci"
} autre{
alert("Veuillez remplir tous les champs obligatoires")
}
}</pré>
<p>Fondamentalement, je souhaite placer le contrôle de validation dans une fonction de validation distincte et renvoyer false si quelque chose ne va pas. </p>
<p>J'ai essayé de changer la façon dont le booléen est suivi, mais il renvoie toujours vrai. </p>
Probablement causé par une utilisation mixte de
==
和===
. Je vous recommande d'essayer d'abord le code suivant :Si le problème persiste, je vous recommande de vérifier l'objet jobSubmission dans le journal de la console et de vous assurer que la valeur que vous vérifiez est celle attendue.