我有一个具有8个文本区域的表单验证-其中只有1个具有不同的条件。检查其中的7个字符是否少于140个字符。我对JavaScript相当陌生,想知道如何将其分解为2个功能,其中1个用于少于140个字符,另一个用于字数统计。
inputTextAreas.forEach(input => {
let inputValue = input.value;
input.classList.remove("error");
if(input.name == 'question1') {
if (input.value.length < 10 || input.value.length > 140) {
$self.outputInputError(input,inputTextAreasErrors.question1);
}
} else if (input.name == 'question2') {
if (input.value.length < 10 || input.value.length > 140) {
$self.outputInputError(input,inputTextAreasErrors.question2);
}
} else if (input.name == 'question3') {
if (input.value.length < 10 || input.value.length > 140) {
$self.outputInputError(input,inputTextAreasErrors.question3);
}
} else if (input.name == 'question4') {
if (questionFourWordCount.length < 2 || questionFourWordCount.length > 7) {
$self.outputInputError(input,inputTextAreasErrors.question4);
}
} else if (input.name == 'question5') {
if (input.value.length < 10 || input.value.length > 140) {
$self.outputInputError(input,inputTextAreasErrors.question5);
}
} else if (input.name == 'question6') {
if (input.value.length < 10 || input.value.length > 140) {
$self.outputInputError(input,inputTextAreasErrors.question6);
}
} else if (input.name == 'question7') {
if (input.value.length < 10 || input.value.length > 140) {
$self.outputInputError(input,inputTextAreasErrors.question7);
}
} else {
if (input.name == 'question8') {
if (input.value.length < 10 || input.value.length > 140) {
$self.outputInputError(input,inputTextAreasErrors.question8);
}
}
}
});
答案 0 :(得分:0)
inputTextAreas.forEach(input => {
let inputValue = input.value;
input.classList.remove("error");
if(input.name == 'question1' || input.name == 'question2' || input.name == 'question3' || input.name == 'question5' || input.name == 'question6' || input.name == 'question7' || input.name == 'question8') {
if (input.value.length < 10 || input.value.length > 140) {
$self.outputInputError(input,inputTextAreasErrors.input.name);
}
} else{
if (questionFourWordCount.length < 2 || questionFourWordCount.length > 7) {
$self.outputInputError(input,inputTextAreasErrors.input.name);
}
}
});
我认为可以。我还动态更改了名称。让我知道是否可行。没有太多关于此代码的信息。谢谢。
答案 1 :(得分:0)
如果可以通过以下方式替换else,可以利用bracket notation
来访问对象的属性if (input.name === 'question4') {
if (questionFourWordCount.length < 2 || questionFourWordCount.length > 7) {
$self.outputInputError(input, inputTextAreasErrors.question4);
}
} else {
if (input.value.length < 10 || input.value.length > 140) {
$self.outputInputError(input, inputTextAreasErrors[input.name]);
}
}