Element-UI 中使用rules验证 金额 数字

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
data中定义验证规则:<br><br>var checkCount = function (rule, val, callback) {
                if (!val) {
                    return callback(new Error("数量不能为空"));
                }
                var reg = /^(?!(0[0-9]{0,}$))[0-9]{1,}(\.{0,1}\d{1,3}){0,1}$/;
                if (!reg.test(val)) {
                    return callback(new Error("格式错误,至多三位小数"));
                }
                return callback();
            };
            var checkPrice = function (rule, val, callback) {
                if (!val) {
                    return callback(new Error("单价不能为空"));
                }
                var reg = /^\d+(\.{0,1}\d{1,4}){0,1}$/;
                if (!reg.test(val)) {
                    return callback(new Error("格式错误,至多四位小数"));
                }
                return callback();
            };
            var checkScore = function (rule, val, callback) {
                if (!val) {
                    return callback(new Error("分值不能为空"));
                }
                var reg = /^\d+(\.{0,1}\d{1,2}){0,1}$/;
                if (!reg.test(val)) {
                    return callback(new Error("格式错误,至多两位小数"));
                }
                 
                if(parseFloat(val) > 100){
                    return callback(new Error("分值最大只能是100"));
                }
                return callback();
            };

  rules 下面进行引用data中的验证规则

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
rules: {
                    deptName: [{
                        required: true,
                        message: "请选择",
                        trigger: ["change", "blur"]
                    }],
                    score: [{
                        required: true,
                        message: " ",
                        trigger: ["change", "blur"]
                    },
                    {
                        validator: checkScore,
                        trigger: ["change", "blur"]
                    }],
                    count: [{
                        required: true,
                        message: " ",
                        trigger: ["change", "blur"]
                    },
                    {
                        validator: checkCount,
                        trigger: ["change", "blur"]
                    }],
                    price: [{
                        required: true,
                        message: " ",
                        trigger: ["change", "blur"]
                    },
                    {
                        validator: checkPrice,
                        trigger: ["change", "blur"]
                    }],
                    targetName: [{
                        required: true,
                        message: " ",
                        trigger: ["change", "blur"]
                    }],
                }

  模板中使用:

1
2
3
<el-form-item label="报送结算金额(含税):" prop="totalSettleAmount" :rules="rules.price">
           <el-input  v-model="value.totalSettleAmount"  placeholder="请输入报送结算金额(含税)"  clearable  ><template slot="append">元</template></el-input>
         </el-form-item>

  

posted @   我本梁人  阅读(1915)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示