TDesign表单rules通过函数 实现复杂逻辑验证输入内容

Element ui 中 我们可以通过validator 绑定函数来验证一些不在表单model中的值 又或者处理一下比较复杂的判断逻辑
在这里插入图片描述
TDesign也有validator 但比较直观的说 没有Element那么好用
在这里插入图片描述
这里 我们给validator绑定了我们自己的checkAge函数
这个函数中 只有一个参数 value 而且 如果你的v-model绑定的值不在表单data绑定的对象中 这个value拿到的会是undefined

好在 我们在函数中可以直接通过 this拿到响应式数据
就比如这里 我们判断this.imageValue 是不是等于空字符串
然后这里 你直接在函数中 返回 true 表示验证通过 返回false 表示验证失败
验证失败 他会输出你message中绑定的内容
就没有Element ui中的这个callback处理提示了
如果你想判断多个逻辑 就只能写多个了
在这里插入图片描述
老实说 很直观的没有Element ui好用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
是的,Antd组件库的Form表单组件提供了rules验证功能,该功能可以在用户输入内容时进行实时验证,并在输入框下方提示错误信息。如果您希望在用户输入内容之后才进行验证,可以使用Form的submit方法来触发验证,而不是使用实时验证。例如: ```jsx import { Form, Input, Button } from 'antd'; const Demo = () => { const onFinish = (values) => { console.log('Success:', values); }; const onFinishFailed = (errorInfo) => { console.log('Failed:', errorInfo); }; return ( <Form name="basic" initialValues={{ remember: true }} onFinish={onFinish} onFinishFailed={onFinishFailed} > <Form.Item label="Username" name="username" rules={[{ required: true, message: 'Please input your username!' }]} > <Input /> </Form.Item> <Form.Item label="Password" name="password" rules={[{ required: true, message: 'Please input your password!' }]} > <Input.Password /> </Form.Item> <Form.Item> <Button type="primary" htmlType="submit"> Submit </Button> </Form.Item> </Form> ); }; ``` 在上面的例子中,Form组件的onFinish和onFinishFailed方法分别在表单提交成功和失败时被调用。如果您希望在用户提交表单之前进行验证,您可以在onFinish方法中手动触发表单验证,如下所示: ```jsx const onFinish = (values) => { form .validateFields() .then(() => { console.log('Success:', values); }) .catch((errorInfo) => { console.log('Failed:', errorInfo); }); }; ``` 这将使Form组件在提交表单之前进行验证,并根据验证结果调用相应的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值