繁体   English   中英

每个 IF 语句都没有在我的 React 代码中执行

[英]Every IF statement is not executing in my React code

我正在 React 中编写表单验证脚本,但在 function 中我放置了多个 if 语句。 所有应该执行的 if/else 语句,但只有最后的 if 语句正在执行。 我究竟做错了什么? 请帮忙。 我提供了下面的代码。

const onSubmitHandle = () => {

    if (name.length===0) {
        setErr ({ ...err,
            nameText:'Please enter name'
        })
    } else {
        setErr ({ ...err,
            nameText:''
        })
    };

    if (number.length<=5) {
        setErr ({ ...err,
            numberText:'Please enter a valid number'
        })
    } else {
        setErr ({ ...err,
            numberText:''
        })
    };

    if (email.length===0) {
        setErr ({ ...err,
            emailText:'Please enter email'
        })
    } else {
        setErr ({ ...err,
            emailText:''
        })
    };

    if(err.emailText.length===0 && err.nameText.length===0 && err.serviceText.length===0 && err.budgetText.length===0 && err.numberText.length===0) {
        alert('Your request is succesfully submited. We will reach you soon')
        setName('');
        setService('');
        setBudget('');
        setNumber('');
        setEmail('');
    };
}

请帮忙

因此,您似乎错误地传播了 err 变量,我认为您想要的是:

setErr ({ 
   err:{
     ...err,
     emailText:'yadayadayada'
   }
})

通过这样做,您可以使用旧属性创建一个新的 var err,并且仍然添加一个您想要的新属性(阅读扩展运算符)并且您在这个示例中是对的,因为您想要运行所有验证,所以不需要返回

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM