vue element 表单校验动态表单

发布于 2022-09-05 00:15:08 字数 314 浏览 7 评论 0

1.由于项目需要,我现在需要 使用 vue element 实现如下功能:
如果用户选择了 不限,就不限制满 多少元可用。如果 用户选择了限制,就要对用户输入的内容进行表单校验。比如校验用户只能输入数字等等,如下图:

clipboard.png

看了 vue 的表单校验规则,对这样的需求 好像不太好实现,求 大神帮助。谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

合久必婚 2022-09-12 00:15:08

Element文档中的动态增减表单项示例中有相关演示

el-form-item 会有自已独立的 rules 属性,你可以在计算属性中根据满减限制条件动态返回,然后在需要动态验证的地方将该计算属性赋值给rules即可

对岸观火 2022-09-12 00:15:08

感谢 1楼 的提示:
通过rules 属性实现了这个功能,核心代码如下:

// more code
<el-form-item label="满减限制:">
            <el-radio-group v-model="coupon.isFullcut">
                <el-radio label="0">不限</el-radio>
                <el-radio label="1">限额</el-radio>
            </el-radio-group>

            <div v-show="coupon.isFullcut == '1'">
                满
                <div style="display: inline-block;width: 150px;">
                    <el-form-item prop="fullCutamt"  :rules="coupon.isFullcut == '1'?couponRules.fullCutamt:[]">
                       <el-input placeholder="请输入内容" v-model="coupon.fullCutamt"></el-input>
                    </el-form-item>
                </div>
                元  可用
            </div>
        </el-form-item>
        // more code

:rules 如果比较复杂,建议采用 计算属性去实现

单挑你×的.吻 2022-09-12 00:15:08

其实可以这样,通过点击限额,来控制v-show的值,来显示隐藏输入框那块,然后input(type=number) 通过v-model来双向绑定输入框的值,通过watch监听这个值变化来过滤,比如+-号大小范围的等等

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文