rules: {
bussinessName: [
{ required: true, message: '权益名称不能为空', trigger: 'blur'}
],
codeType: [
{ validator: validateCodeTypeFn, trigger: 'blur'}
],
businessCoverage: [
{ required: true, message: '覆盖范围不能为空', trigger: 'blur'}
],
costPrice: [
{ required: true, message: '成本价不能为空', trigger: 'blur'},
{ validator: validateInputNumber, trigger: 'blur'}
],
marketPrice: [
{ required: true, message: '销售价不能为空', trigger: 'blur'},
{ validator: validateInputNumber, trigger: 'blur'}
],
}
1.表单规则里的属性名和表单里的prop相对应,且prop必须和v-model绑定的名称一致,才能起到校验作用。
2.规则里写了required:true,则在对应的表单里就不用再加required。
3.自定义的校验函数写在data函数里return数据模型对象之前(以定义局部变量的方式);正是因为data是函数,才实现了组件的复用,若data不是函数return对象而是直接一个对象,那么组件复用时数据模型就是共用的。
4.Vue是数据驱动,倡导操作数据而不是操作dom的细节;那么操作业务数据的关键是独立开各部分数据,不能有数据关联,否则修改一处数据而连带修改其他地方数据,必然出bug,所以体现了数据深拷贝的重要性,使其和它的数据来源不会联动修改;二是把数据操作都放在当前深拷贝之后,确保只是对当前数据的改动。