Javascript 当其他输入无效时,checkValidity为最后一个输入返回true

Javascript 当其他输入无效时,checkValidity为最后一个输入返回true,javascript,html,validation,Javascript,Html,Validation,我在尝试获取javascript函数来验证表单中具有特定类的所有输入时遇到了一些问题 我的js: 函数validateForm(){ 设isValid=false //具有以下类别的输入有效 常量类='.form控件' //获取所有要验证的类 变量输入=步骤[currentStep].querySelectorAll(类) //如果找不到任何类,则自动将其作为有效步骤 如果(输入长度{ //重置验证 inputs.classList.remove('is-invalid') //如果表单无效,请

我在尝试获取javascript函数来验证表单中具有特定类的所有输入时遇到了一些问题

我的js:

函数validateForm(){
设isValid=false
//具有以下类别的输入有效
常量类='.form控件'
//获取所有要验证的类
变量输入=步骤[currentStep].querySelectorAll(类)
//如果找不到任何类,则自动将其作为有效步骤
如果(输入长度<1){
返回真值
}
//创建用于验证输入的函数
var验证=数组.prototype.filter.call(输入,(输入)=>{
//重置验证
inputs.classList.remove('is-invalid')
//如果表单无效,请告诉用户并阻止代码执行
如果(!inputs.checkValidity()){
inputs.classList.add('is-invalid')
}
//当前输入是否有效
isValid=(inputs.checkValidity())?真:假
})
返回有效
}
此函数将从我的表单中的submit按钮启动,并且有几个带有
.form控件的输入元素

我遇到的问题是,如果我在该类中有4个输入,所有必需的输入并填写4个输入中的最后一个
isValid
返回valid当其他输入无效时,如果所有输入都有效,我如何让
isValid
只返回true?我缺少什么?

请尝试以下代码:

函数validateForm(){
设isValid=true
//具有以下类别的输入有效
常量类='.form控件'
//获取所有要验证的类
变量输入=步骤[currentStep].querySelectorAll(类)
//如果找不到任何类,则自动将其作为有效步骤
如果(输入长度<1){
返回真值
}
//创建用于验证输入的函数
Array.prototype.forEach.call(输入,(输入)=>{
const current=input.checkValidity();
如果(当前){
input.classList.remove('is-invalid')
}否则{
input.classList.add('is-invalid')
}
isValid=isValid&¤t
})
返回有效
}
我替换了
isValid=(inputs.checkValidity())?真:假
与此分开:

isValid=isValid&&(input.checkValidity())
并将
isValid
的初始值设置为
true