【发布时间】:2021-11-01 01:50:38
【问题描述】:
project_id 需要在表单提交时进行验证:
<td>
<select2
name="project_id"
id="project_id"
v-model.trim="item.project_id.$model"
v-bind:class="{
'is-invalid': item.project_id.$error,
'is-valid':
item.project_id.$dirty &&
!item.project_id.$error,
}"
>
<option value="">Select</option>
<option v-for="(project) in projects"
:selected="project.id == timesheet.project_id"
:key="project.id"
:value="project.id"
>{{ project.name }}
</option>
</select2>
</td>
<td><input type= "checkbox" name="disable" v-on:click="disabled()"></td>
<script>
import { required, minLength } from "vuelidate/lib/validators";
validations() {
return{
timesheet: {
items: {
required,
minLength: minLength(1),
project_id: { required },
}
}
}
},
disabled(){
$('#project_id').attr('disabled', true);
}
</script>
当disable复选框被选中时,如何使该字段成为非必填项?
我尝试使用 requiredIf 验证器,但似乎在某处丢失:
$each: {
project_id: {
required: requiredIf (function(item){
return this.disable
})
},
},
【问题讨论】:
标签: jquery vue.js validation vuelidate