码迷,mamicode.com
首页 > 其他好文 > 详细

form表单调接口校验 比如后台验证用户名是否存在

时间:2020-01-06 16:27:58      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:form   initial   field   hasd   erro   ldd   表单   set   you   

<FormItem {...formItemLayout} label={‘显示名‘}>
                {getFieldDecorator(‘displayName‘, {
                  initialValue: displayName,
                  validateTrigger: ‘onBlur‘,
                  rules: [
                    { transform: val => val && val.trim() },
                    { required: true, message: ‘请输入显示名‘ },
                    { max: 20, message: ‘显示名长度必须小于等于20字符‘ },
                    {
                      validator: (rlue, value, cb) => {
                        if (value) {
                          checkNickname(value).then((res) => {
                            const { success, data } = res;
                            // 接口成功
                            if (success) {
                              // 存在重名
                              if (data.hasDisplayName) {
                                this.props.setFields({
                                  displayName: {
                                    value: displayName,
                                    errors: [new Error(‘此显示名已被使用!‘)],
                                  },
                                })
                              } else {
                                cb();
                              }
                            }
                          })
                        } else {
                          cb();
                        }
                      }
                    }
                  ]
                })(
                  <Input />
                )}
              </FormItem>

注意cb回调

form表单调接口校验 比如后台验证用户名是否存在

标签:form   initial   field   hasd   erro   ldd   表单   set   you   

原文地址:https://www.cnblogs.com/rong88/p/12156840.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!