antd design(4.x)中的Form

1.初始化表单数据

initialValues:表单默认值,只有初始化以及重置时生效。
代码示例如下:

 <Form layout="horizontal" form={form}
    initialValues={{
         RealName: userInfo.RealName,
         Sex: userInfo.Sex,
         Mobile: userInfo.Mobile,
         Email: userInfo.Email,
         Birthday: moment(userInfo.Birthday, 'YYYY-MM-DD'),
     }}>
     <FormItem name="RealName" label="昵称" {...Common.layout.formItemLayout}>
         <Input />
     </FormItem>
     <FormItem name="Sex" label="性别" {...Common.layout.formItemLayout}>
         <Radio.Group onChange={onChange} value={sexValue}>
             <Radio value={1}></Radio>
             <Radio value={0}></Radio>
         </Radio.Group>
     </FormItem>
     <FormItem name="Birthday" label="生日" {...Common.layout.formItemLayout}>
         <DatePicker />
     </FormItem>
     <FormItem name="Email" label="邮箱" {...Common.layout.formItemLayout}>
         <Input />
     </FormItem>
     <FormItem name="Mobile" label="电话" {...Common.layout.formItemLayout}>
         <Input />
     </FormItem>
 </Form>

2.form验证
form :经 Form.useForm() 创建的 form 控制实例,不提供时会自动创建

const [form] = Form.useForm();

使用form={form}

 <Form layout="horizontal" form={form}>
     <Form.Item name='name' label='名称'
      	rules={[{ required: true, message: '必填', }]}
      >
          <Input />
      </Form.Item>

      <Form.Item name='desc' label='描述'
          rules={[{ required: true, message: '必填', }]}
      >
          <Input />
      </Form.Item>
 </Form>

提交时的校验

   form.validateFields()
     .then(values => {
     	// success         
          console.log(values)
      })
      .catch(errorInfo => { // error
          console.log(errorInfo)
      });

3.动态添加表单的值

 form.setFieldsValue({
     name: '测试',
     desc: '测试自动填充',
 });
  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
灵活好用的jq表单验证,自己封装可按照验证需求添加验证方法,不需要修改验证整体结构,内含使用说明。 var arr = new Array(); /* */ //用户验证 arr[0] = new XQValidation(); arr[0].XChecksetcont("3-12长度,字母,数字,下划线", "", "表单不能为空", "验证失败", "此用户已存在", "此用户可以注册"); arr[0].posturl("/FormValidation/ajax/ajax-validation.asmx/user_isNull", "name"); arr[0].check("tname", "td1", "checkusername", true, true); //密码验证 arr[1] = new XQValidation(); arr[1].XChecksetcont("6-20长度,字母,数字,和其他符号", "ok", "表单不能为空", "wrong", "表单不能为空"); arr[1].check("tpass", "td2", "checkpassword", true, false); //邮箱验证 arr[2] = new XQValidation(); arr[2].XChecksetcont("正确邮箱", "ok", "表单不能为空", "wrong"); arr[2].check("tmail", "td3", "checkemail", true, false); //联系方式验证 arr[3] = new XQValidation(); arr[3].XChecksetcont("正确手机,非必须", "ok", "表单不能为空", "wrong"); arr[3].check("tmobile", "td4", "checkcontactway", true, false); //QQ验证 arr[4] = new XQValidation(); arr[4].XChecksetcont("qq,非必须", "ok", "表单不能为空", "wrong"); arr[4].check("tqq", "td5", "checkqq", false, false); //验证码验证 arr[5] = new XQValidation(); arr[5].XChecksetcont("", "ok", "表单不能为空", "wrong"); arr[5].check("tcode", "td6", "checknull", true, false); //重复密码验证 arr[6] = new XQValidation(); arr[6].XChecksetcont("", "", "表单不能为空", "密码不匹配"); arr[6].check("tapass", "td7", "checkpassword_", true, false); /* *summary:提交表单验证 */ function formok() { for (var i = 0; i < arr.length; i++) {//循环遍历验证对象 if (!arr[i].getstate()) { arr[i].alertwrong(); return false } } //判断两次输入的密码是否一样 if (!chkapass($("tapass").value)) { arr[6].alertwrong(); return false; } return true; }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值