在毕设项目中遇到这么一个问题:
添加社团的时候,需要必须加上社团介绍属性(前台要用),而添加社团下面的部门时,则不需要添加介绍属性。社团和部门的存储用的是同一张表

主要思路是提供两套验证规则,通过计算得出当前表格需要哪一套验证规则。我在这里的定义的验证规则为:rules="rules"。
<el-form
:model="addDeptModel"
ref="addDeptForm"
:rules="rules"
label-width="80px"
:inline="true"
size="small"
>
下面在data()里提供的两套验证规则为
//表单验证规则
//添加社团就要添加社团介绍
ClubRules: {
parentName: [
{
required: true,
trigger: "change",
message: "请选择上级部门",
},
],
name: [
{
required: true,
trigger: "change",
message: "请填写部门名称",
},
],
introduction: [
{
required: true,
trigger: "blur",
message: "请填写社团介绍",
},
{
min: 5,
max: 18,
message: "5-18个字符",
trigger: "change",
},
],
},
//添加部门介绍选填
DepRules: {
parentName: [
{
required: true,
trigger: "change",
message: "请选择上级部门",
},
],
name: [
{
required: true,
trigger: "change",
message: "请填写部门名称",
},
],
},
计算规则的函数:
computed:{
rules(){
//如果是要添加社团
if(this.addDeptModel.parentName =='顶级部门')
return this.ClubRules;
return this.DepRules;
}
},
探讨如何在毕设中实现社团与部门表单验证的灵活性,根据输入自动切换规则:社团必填社团介绍,部门选填。涉及计算规则函数和双规则模型。
539

被折叠的 条评论
为什么被折叠?



