Die Funktion gibt „true“ zurück, obwohl sie „false“ zurückgeben sollte
<p>Ich verwende NextJS, um ein clientseitiges Formular zu erstellen. Ich versuche, die Validierung auf der Clientseite des Formulars zu platzieren und sie in eine separate Funktion einzufügen, aber jedes Mal, wenn ich die Funktion „validateForm()“ ausführe, gibt sie unabhängig von der Eingabe „true“ zurück. Ich habe das Gefühl, dass mir hier etwas Dummes entgeht, aber ich zerbreche mir den Kopf und komme nicht weiter. Hier ist der Code: </p>
<pre class="brush:php;toolbar:false;">const [jobSubmission, setJobSubmission] = useState({});
Funktion handleChange (e){
const jobInputName = e.target.name;
const jobInputValue = e.target.value;
const newJobSubmission = {
...JobEinreichung,
[jobInputName]: jobInputValue,
}
console.log(newJobSubmission)
setJobSubmission(newJobSubmission)
}
Funktion validierenForm (){
console.log("Validierung läuft")
if(jobSubmission.jobCategory == `Please-Select` || jobSubmission.jobCategory === null){
Alert("Bitte treffen Sie eine Jobkategorieauswahl")
falsch zurückgeben
}
if (jobSubmission.salarRange !== null && jobSubmission.timeOfPayment === null){
Alert("Bitte wählen Sie die Häufigkeit der Gehaltszahlung aus oder entfernen Sie die Gehaltsspanne");
falsch zurückgeben
}
Rückkehr wahr
}
Funktion handleSubmission(){
const isReady = validierenForm()
console.log(isReady)
if (isReady === true){
// UniqId hinzufügen
const finalJobObject = {
...JobEinreichung,
jobId: uniqid()
}
sendJobToDB(finalJobObject)
window.location = "/post-a-job/thank-you"
} anders{
Alert("Bitte füllen Sie alle erforderlichen Felder aus")
}
}</pre>
<p>Grundsätzlich möchte ich die Validierungsprüfung in eine separate Validierungsfunktion einfügen und tatsächlich false zurückgeben, wenn etwas schief geht. </p>
<p>Ich habe versucht zu ändern, wie der boolesche Wert verfolgt wird, aber er gibt immer true zurück. </p>