async-validator
async-validator copied to clipboard
请问下数组里面的对象属性怎样做校验
在数组里面的对象属性校验出异常,实际上是绑定成功的了,但是无法通过校验,代码如下:
谢谢!
rules里的type使用array试下
rules:{ type:'object', required:true, fields:{ filedLabel:[ ... ] } }
校验字段 为 modelMetadataConfig[index],index 为数组索引
@TELstatic 你这段html端如何写? 因为每个field可能对应一个FormItem
@TELstatic 你这段html端如何写? 因为每个field可能对应一个FormItem
参考图片
@williambao
<FormItem v-for="(item, index) in form.items" :key="index" :label="'单品 ' + (index+1) " :prop="'items.' + index" :rules="rules.item"> <Row :gutter="10"> <Col span="2"> <Poptip trigger="focus"> <Input type="text" v-model="item.module" placeholder="请输入型号"></Input> <div slot="content">{{ formatText(item.module) }}</div> </Poptip> </Col> <Col span="2"> <Poptip trigger="focus"> <Input type="text" v-model="item.standard" placeholder="请输入规格"></Input> <div slot="content">{{ formatText(item.standard) }}</div> </Poptip> </Col>
items: [{ type: 'array', required: true, defaultField: { type: "object", required: true, fields: { name: [{ type: 'string', required: true, message: 'name is required', trigger: 'change' }], weight: [{ type: 'string', required: true, message: 'weight is required', trigger: 'blur' }] } } }]
rules:{ type:'object', required:true, fields:{ filedLabel:[ ... ] } }
校验字段 为 modelMetadataConfig[index],index 为数组索引
rules:{ type:'object', required:true, fields:{ filedLabel:[ ... ] } }
校验字段 为 modelMetadataConfig[index],index 为数组索引
如果type是数组呢 验证的字段是数组下的每项对象中的字段
嵌套对象验证规则怎么写?,比如要验证c属性:
{ a: { b: { c: 'ccc' } } }
items: [{ type: 'array', required: true, defaultField: { type: "object", required: true, fields: { name: [{ type: 'string', required: true, message: 'name is required', trigger: 'change' }], weight: [{ type: 'string', required: true, message: 'weight is required', trigger: 'blur' }] } } }]
It works!
const data = [{},{}];
const descriptor = {items: [{ type: 'array', required: true, defaultField: { type: "object", required: true, fields: { name: [{ type: 'string', required: true, message: 'name is required', trigger: 'change' }], weight: [{ type: 'string', required: true, message: 'weight is required', trigger: 'blur' }] } } }]}
const validator = new Schema(descriptor);
validator({ item: data });
请问是否支持 这样的嵌套path定义?
const rules = {
'a.b.c': [
{ required: true, message: 'a.b.c is required' },
{ type: 'string', message: 'a.b.c must be a string' },
],
};
const data = {
a: {
b: {
c: '123'
}
}
}