関数は false を返す必要があるにもかかわらず true を返します
<p>NextJS を使用してクライアント側のフォームを作成しています。フォームのクライアント側に検証を配置して別の関数に配置しようとしていますが、 validateForm() 関数を実行するたびに、入力に関係なく true が返されます。ここで何か愚かなことを見逃しているような気がしますが、頭を悩ませていますが、どこにも行きません。コードは次のとおりです: </p>
<pre class="brush:php;toolbar:false;">const [jobSubmission, setJobSubmission] = useState({});
関数 handleChange (e){
const jobInputName = e.target.name;
const jobInputValue = e.target.value;
const newJobSubmission = {
...ジョブ送信、
[ジョブ入力名]: ジョブ入力値、
}
console.log(新しいジョブ送信)
setJobSubmission(newJobSubmission)
}
関数 validateForm(){
console.log("検証実行中")
if(jobSubmission.jobCategory == `選択してください` || jobSubmission.jobCategory === null){
alert("職種を選択してください")
falseを返す
}
if (jobSubmission.salarRange !== null && jobSubmission.timeOfPayment === null){
alert("給与支払いの頻度を選択するか、給与範囲を削除してください");
falseを返す
}
trueを返す
}
関数 handleSubmission(){
const isReady = validateForm()
console.log(isReady)
if (isReady === true){
// UniqIdを追加します
const FinalJobObject = {
...ジョブ送信、
ジョブID: uniqid()
}
sendJobToDB(最終ジョブオブジェクト)
window.location = "/仕事の投稿/ありがとう"
} それ以外{
alert("必須フィールドをすべて入力してください")
}
}</pre>
<p>基本的に、検証チェックを別の検証関数に入れて、何か問題が発生した場合に実際に false を返したいと考えています。 </p>
<p>ブール値の追跡方法を変更しようとしましたが、常に true が返されます。 </p>