React Javascript,表单/输入验证不起作用
我有几个输入和复选框,它们都需要包含一个值才能启用submit按钮。另外,他们为名称输入的值必须不存在,所以我使用includes在数组中检查它,我还尝试使用regex检查它,但这也不起作用。对于正则表达式,它根本不起作用。对于includes方法,它可以工作,但我的输入设置方式是由onChange事件处理的。当更改时,它们更新状态变量并调用一个函数,检查它们是否为空、是否已存在或是否在我为数字输入设置的特定范围内。如果我想输入PHP,输入第一个字母p,它会运行includes方法来检查“p”是否存在,它会找到一个p,并说是的,我找到了一个“p”,这是真的,但这不是我想要的,我想检查数组中是否存在整个单词 这是我编的正则表达式,似乎不起作用React Javascript,表单/输入验证不起作用,javascript,reactjs,if-statement,Javascript,Reactjs,If Statement,我有几个输入和复选框,它们都需要包含一个值才能启用submit按钮。另外,他们为名称输入的值必须不存在,所以我使用includes在数组中检查它,我还尝试使用regex检查它,但这也不起作用。对于正则表达式,它根本不起作用。对于includes方法,它可以工作,但我的输入设置方式是由onChange事件处理的。当更改时,它们更新状态变量并调用一个函数,检查它们是否为空、是否已存在或是否在我为数字输入设置的特定范围内。如果我想输入PHP,输入第一个字母p,它会运行includes方法来检查“p”是
let regex:RegExp = new RegExp(state_course_name, 'i');
for(let i in technologies){
console.log(technologies[i].name.match(regex));
if(!!technologies[i].name.match(regex)){
return;
}
}
这是我的函数,每次出现不太好的更改时都会检查输入
const checkFormInput = ():boolean => {
state_form_Validation = true;
let mybool:boolean;
if(state_tech_name !== "" && state_tech_description !== "" && state_tech_courseArray.length > 0 && state_tech_difficulty > 0 && state_tech_difficulty < 6){
for(let i in technologies){
mybool = technologies[i].name.includes(state_tech_name);
//console.log(state_course_name);
if(technologies[i].name.includes(state_course_name)){
state_form_Validation = false;
}
//console.log(mybool);
}
} else {
state_form_Validation = true;
}
setState_form_validation(state_form_Validation)
return state_form_Validation;
};
const checkFormInput=():boolean=>{
状态\形式\验证=真;
设mybool:boolean;
如果(州科技名称!==“”&州科技描述!==“”&州科技课程array.length>0和州科技难度>0和州科技难度<6){
对于(让我加入技术){
mybool=technologies[i].name.includes(state\u tech\u name);
//console.log(状态\课程\名称);
if(technologies[i].name.includes(state_course_name)){
状态\形式\验证=假;
}
//console.log(mybool);
}
}否则{
状态\形式\验证=真;
}
设置状态表单验证(状态表单验证)
返回状态\表单\验证;
};
下面是输入和onchange处理程序的示例
<input name="editTechs" type="submit" disabled={!state_form_Validation} onClick={() => {submitAdd();history.push("/");}}
value="Add"/>
const add_tech_name = (e:any):void => {
setState_tech_name(e.target.value);
checkFormInput();
};
{submitad();history.push(“/”;}}
value=“添加”/>
const add_tech_name=(e:any):void=>{
设置状态技术名称(如目标值);
checkFormInput();
};
任何帮助,使这项工作正常将是伟大的,提前感谢