我有一个vue项目,我用表单收集测试答案,我想用{ required }验证每个输入,但我没能做到。我有下面的代码,但它导致检查是否有数组,而不是检查它的每个字符串是否存在。这是html模板:
<form
class="forms-test"
v-for="(testItem, index) in testItems"
:key="testItem.block"
>
<div class="TaskComponent" id="taskSection2">
<div class="task-no-pictureS2">
<h4>{{ t("task") }}: {{ t("calculate") }}</h4>
<p>
{{ testItems[index].task }}
</p>
<BaseInput
class="answerBox"
:placeholder="t('type')"
v-model="studentAnswers[index]"
:label="t('answer')"
type="text"
/>
</div>
<p v-if="v$.studentAnswers.$error">
{{ v$.studentAnswers.$errors[0].$message }}
</p>
</div>
</form>
这是在<script>
部分
data() {
return {
v$: useValidate(),
studentAnswers: [],
language: i18n.global.locale.value,
answerOptions: [
{ label: this.t("true"), value: this.t("true") },
{ label: this.t("false"), value: this.t("false") },
],
};
},
validations() {
return {
studentAnswers: {
required,
},
};
},
我试过使用$each
助手,但在vuelidate文档中,他们说他们删除了它,并添加了新的forEach
助手,但效果不佳。这是我已经尝试过的:
validations() {
return {
studentAnswers: {
$each: {
required
},
},
};
},
使用forEach
辅助函数:
validations() {
return {
studentAnswers: {
$each: helpers.forEach({
required,
}),
},
};
},
在forEach
中也使用element
validations() {
return {
studentAnswers: {
$each: helpers.forEach(element =>{
element: { required }
}),
},
};
},
但这会导致lint错误。
有没有其他方法可以实现这一点,或者我在哪里犯了错误?
1条答案
按热度按时间bmp9r5qi1#
可使用以下格式:
脚本
HTML格式