// 校验角色名字唯一
getName = (rule, value, callback) => {
const { dispatch } = this.props;
const { recodes } = this.state;
if (value) {
//这里调后端接口
dispatch({ type: 'roleModel/getName', payload: { roleId: recodes ? recodes.roleId : '', roleName: value } })
.then((xhr)=>{
if(!xhr){
callback('该角色名称已存在');//抛发异常信息
}else{
callback()//必须返回,联通表单err
}
})
}else{
callback()//返回联通必填校验
}
}
<FormItem {...formItemLayout}
label="角色名称"
>
{form.getFieldDecorator('roleNames', {
initialValue: recodes?recodes.roleName:'',
rules: [
{
required: true,
message: '请填写角色名称'
},
{
max: 30,
message: '最长可输入30个字符'
},
{
validator: this.getName
}
]
})(
<Input />
)}
</FormItem>