함수는 false를 반환해야 하지만 true를 반환합니다.
P粉514458863
2023-08-16 19:57:43
<p>저는 NextJS를 사용하여 클라이언트측 양식을 만들고 있습니다. 양식의 클라이언트 측에 유효성 검사를 배치하고 이를 별도의 함수에 넣으려고 하는데, verifyForm() 함수를 실행할 때마다 입력에 관계없이 true를 반환합니다. 여기서 뭔가 어리석은 것을 놓치고 있는 것 같지만, 머리를 쥐어짜는데 아무데도 가지 못하고 있습니다. 코드는 다음과 같습니다. </p>
<pre class="brush:php;toolbar:false;">const [jobSubmission, setJobSubmission] = useState({});
함수 핸들변경(e){
const jobInputName = e.target.name;
const jobInputValue = e.target.value;
const newJobSubmission = {
...작업 제출,
[작업입력이름]: 작업입력값,
}
console.log(newJobSubmission)
setJobSubmission(newJobSubmission)
}
함수 verifyForm(){
console.log("검증 실행 중")
if(jobSubmission.jobCategory == `선택하세요` || jobSubmission.jobCategory === null){
Alert("직종을 선택해주세요.")
거짓을 반환하다
}
if (jobSubmission.salarRange !== null && jobSubmission.timeOfPayment === null){
Alert("급여 지급 주기를 선택하거나 급여 범위를 삭제해 주세요.");
거짓을 반환하다
}
true를 반환
}
함수 핸들 제출(){
const isReady = 유효성 검사폼()
console.log(isReady)
if (isReady === true){
// UniqId 추가
const finalJobObject = {
...작업 제출,
jobId: uniqid()
}
sendJobToDB(최종JobObject)
window.location = "/post-a-job/감사합니다"
} 또 다른{
Alert("필수 항목을 모두 입력해주세요")
}
}</pre>
<p>기본적으로 유효성 검사를 별도의 유효성 검사 함수에 넣고 실제로 문제가 발생하면 false를 반환하고 싶습니다. </p>
<p>부울을 추적하는 방법을 변경해 보았지만 항상 true를 반환합니다. </p>
아마도
으아악==
和===
를 혼합하여 사용했기 때문일 것입니다. 먼저 다음 코드를 시도해 보는 것이 좋습니다.문제가 지속되면 콘솔 로그에서 jobSubmission 개체를 확인하고 확인 중인 값이 예상한 것과 같은지 확인하는 것이 좋습니다.