记录一下antd中表单之定义校验时callback的使用
validFunction = (rule, value, callback) => {
const arr = value ? value.split(';') : [];
for (let i = 0; i < arr.length; i++) {
const single = arr[i];
if (!REG.test(single)) { // 正则验证
callback('请输入符合规范的域名/IP'); // 校验未通过
break;
}
}
if (arr.length > 10) {
callback('最多添加10个'); // 校验未通过
}
callback(); // 校验通过
}
<FormItem {...formLayout} label="域名/IP:">
{getFieldDecorator('origin',{
rules:[{
required:true,message:'请输入域名或IP'
},{
validator: this.validFunction
}],
initialValue:this.state.domainValue
})
(<Input placeholder="请输入域名或IP"></Input>)
}
</FormItem>