【Ant.design pro】rules方法校验

必填项:

const RuleNull = [{ required: true, message: "不可以为空" }]

银行卡号:

  const RuleBankCard = [{ required: true, message: "不可以为空" },{
    validator: (_, value) => {
      if(value.length<16 || value.length > 19){
        return Promise.reject(new Error("银行卡号位数请在16~19位之间"));
      }
      return Promise.resolve();
    },
  }]

数字框:

const RuleNum = [
    { required: true, message: "不可以为空" },
    {validator: (_, value) => {
        const isNumber = /^-?\d+(\.\d+)?$/.test(value);
        if (!isNumber) {
          return Promise.reject(new Error("请输入有效的数字"));
        }
        // 将字符串转换为数字进行进一步校验(如非负数)
        const numValue = parseFloat(value);
        if (isNaN(numValue)) {
          return Promise.reject(new Error("请输入有效的数字"));
        }
        if(value < 0){
          return Promise.reject(new Error("请输入非负数"));
        }
        return Promise.resolve();
      }},
  ]

手机号:

  const RulePhone = [{ required: true, message: "不可以为空" },
    {
      validator: (_, value) => {
        const phoneRegex = /^1[3-9]\d{9}$/;
        if (!phoneRegex.test(value)) {
          return Promise.reject(new Error("手机号码格式不正确"));
        }
        return Promise.resolve();
      },
    }]
### Ant Design Vue 表单校验规则及示例 #### 使用 `Form` 组件进行表单校验 Ant Design Vue 的 `a-form-model` 是用于构建复杂交互逻辑的组件之一,支持内置验证功能。通过设置 `rules` 属性来定义字段的校验规则[^2]。 以下是实现表单校验的一个完整示例: ```vue <template> <a-form :model="form" :rules="rules" @submit="handleSubmit"> <!-- 用户名输入框 --> <a-form-item label="用户名" prop="username"> <a-input v-model="form.username" /> </a-form-item> <!-- 密码输入框 --> <a-form-item label="密码" prop="password"> <a-input type="password" v-model="form.password" /> </a-form-item> <!-- 提交按钮 --> <a-button type="primary" html-type="submit">提交</a-button> </a-form> </template> <script> export default { data() { return { form: { username: '', password: '' }, rules: { username: [ { required: true, message: '请输入用户名', trigger: 'blur' } // 验证必填项 ], password: [ { required: true, message: '请输入密码', trigger: 'change' }, // 验证必填项 { min: 6, max: 18, message: '长度应在 6 到 18 之间', trigger: 'change' } // 长度范围验证 ] } }; }, methods: { handleSubmit(e) { e.preventDefault(); this.$refs.form.validate(valid => { if (valid) { alert('提交成功'); } else { console.log('表单校验失败'); } }); } } }; </script> ``` 上述代码展示了如何创建一个简单的登录表单并应用基本的校验规则。其中: - `required: true` 定义该字段为必填项。 - `min` 和 `max` 设置字符串长度限制。 - `trigger` 控制触发校验的时间点(如 `blur` 或 `change`)。 #### 常见校验规则说明 | 参数 | 类型 | 描述 | |------|------|------| | `required` | Boolean | 是否必填 | | `message` | String | 校验不通过时显示的消息 | | `min/max` | Number | 字符串最小/最大长度 | | `pattern` | RegExp | 自定义正则表达式匹配 | 例如,如果需要对邮箱地址进行校验,则可以添加如下规则: ```javascript email: [ { required: true, message: '请输入邮箱地址', trigger: 'blur' }, { type: 'email', message: '请输入有效的邮箱地址', trigger: ['blur', 'change'] } ] ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值