Fungsi mengembalikan benar walaupun ia sepatutnya mengembalikan palsu
P粉514458863
2023-08-16 19:57:43
<p>Saya menggunakan NextJS untuk mencipta borang sebelah pelanggan. Saya cuba meletakkan pengesahan pada bahagian klien borang dan meletakkannya dalam fungsi yang berasingan, tetapi setiap kali saya menjalankan fungsi validateForm() ia kembali benar tanpa mengira input. Saya rasa seperti saya kehilangan sesuatu yang bodoh di sini, tetapi saya memerah otak saya dan tidak ke mana. Berikut ialah kodnya: </p>
<pre class="brush:php;toolbar:false;">const [jobSubmission, setJobSubmission] = useState({});
pemegang fungsiTukar (e){
const jobInputName = e.target.name;
const jobInputValue = e.target.value;
const newJobSubmission = {
...penyerahan kerja,
[jobInputName]: jobInputValue,
}
console.log(newJobSubmission)
setJobSubmission(newJobSubmission)
}
fungsi validateForm (){
console.log("Pengesahan berjalan")
if(jobSubmission.jobCategory == `Sila-Pilih` || jobSubmission.jobCategory === null){
alert("Sila buat pemilihan kategori pekerjaan")
kembali palsu
}
jika (jobSubmission.salarRange !== null && jobSubmission.timeOfPayment === null){
alert("Sila pilih kekerapan pembayaran gaji atau alih keluar julat gaji");
kembali palsu
}
kembali benar
}
fungsi handleSubmission(){
const isReady = validateForm()
console.log(isReady)
jika (sedia === benar){
// Tambah UniqId
const finalJobObject = {
...penyerahan kerja,
jobId: uniqid()
}
sendJobToDB(finalJobObject)
window.location = "/post-a-job/thank-you"
} lain{
alert("Sila isi semua medan yang diperlukan")
}
}</pre>
<p>Pada asasnya, saya ingin meletakkan semakan pengesahan dalam fungsi pengesahan yang berasingan dan sebenarnya mengembalikan palsu jika berlaku kesilapan. </p>
<p>Saya telah cuba menukar cara boolean dijejaki tetapi ia sentiasa kembali benar. </p>
Mungkin disebabkan oleh penggunaan campuran
==
和===
. Saya syorkan mencuba kod berikut dahulu:Jika masalah berterusan, saya syorkan anda menyemak objek jobSubmission dalam log konsol dan pastikan nilai yang anda semak adalah seperti yang diharapkan.