2025年vue设置必填项和判断必填项是否填入的弹窗提示

vue设置必填项和判断必填项是否填入的弹窗提示项目场景 有的功能需要设置必填项 当然也需要判断是不是添上了 还需要加上提示框 问题描述 1 如何设置必填项 2 如何设置弹窗提示 3 如何将二者结合起来实现点击时既可以判断必填项也可以弹出提示框 原因分析 其他两个我没有什么问题 在将二者结合起来的时候判断的位置要加对 还有 else 也要放对位置

大家好,我是讯享网,很高兴认识大家。

项目场景:

有的功能需要设置必填项,当然也需要判断是不是添上了,还需要加上提示框


问题描述

1.如何设置必填项

2.如何设置弹窗提示

3.如何将二者结合起来实现点击时既可以判断必填项也可以弹出提示框


原因分析:

其他两个我没有什么问题,在将二者结合起来的时候判断的位置要加对,还有else也要放对位置


讯享网


解决方案:

1.设置必填项

:rules=" "这里绑定你需要设置必填项的方法名

ref=" " 这里绑定你进行判断的方法名

方法的数组里设置的属性required: false,代表不是必填项

required: true代表是必填

以下有效果图

<el-form :model="queryInfos" :rules="addqueryInfos" ref="insertPriceList" label-width="100px" label-position="left">
                        <el-row :gutter="3" v-if="update">
                            <el-col :span="6">
                                <el-form-item label="人员编号" prop="psnNo">
                                    <el-input v-model="queryInfos.psnNo"></el-input>
                                </el-form-item>
                            </el-col>

addqueryInfos: {
                    iptOtpNo: [{
                        required: false,
                        message: '请输门诊编号',
                        trigger: 'blur'
                    }],
                    sheetId: [{
                        required: false,
                        message: '请输入处方编号',
                        trigger: 'blur'
                    }],
                    epcId: [{
                        required: false,
                        message: '请输入处方ID号',
                        trigger: 'blur'
                    }],
                    paName: [{
                        required: false,
                        message: '请输入患者姓名',
                        trigger: 'blur'
                    }],
                    psnNo: [{
                        required: true,
                        message: '请输入人员编号',
                        trigger: 'blur'
                    }],
                    psnCertType: [{
                        required: true,
                        message: '请输入证件类型',
                        trigger: 'blur'
                    }],
                    certno: [{
                        required: true,
                        message: '请输入证件号码',
                        trigger: 'blur'
                    }],
                
                },
                dialog: false,

2.设置提示弹框

async insertPriceList(queryInfos) {                
                //新增处方信息和药品信息
                this.$refs.insertPriceList.validate((valid) => {
                    if (valid) { //必填项的判断,点击确定和取消这里会自动判断,确定就会执行下面的语句,但是
                        this.$confirm("您确定【提交】?", "提示", { //这里配合data里的addqueryInfos进行使用可以达到非空判断+提示框的效果
                            confirmButtonText: "确定",
                            cancelButtonText: "取消",
                        }).then(() => {
                            
                            }
                        }).catch(()=>{});//注意这里,这里是重点,加上之后那两个确定取消才会被正常使用,不加功能不影响!!!!!但是前端控制台会报错!!!
                    } 
                })
            }, 

 3.将二者结合起来

一定要注意判断的位置还有你交互代码的位置以及else的位置,三个位置错的话效果会有偏差

async insertPriceList(queryInfos) {
                //新增处方信息和药品信息
                this.$refs.insertPriceList.validate((valid) => {
                    if (valid) { //必填项的判断,点击确定和取消这里会自动判断,确定就会执行下面的语句,但是
                        this.$confirm("您确定【提交】?", "提示", { //这里配合data里的addqueryInfos进行使用可以达到非空判断+提示框的效果
                            confirmButtonText: "确定",
                            cancelButtonText: "取消",
                        }).then(() => {
                            const {
                                data: results,
                            } = this.$http.post('/medicine/putMedicine', this.queryInfos)
                            this.$message.success('处方新增成功!')
                            for (var i = 0; i < this.baseForm.addForm.length; i++) {
                                if (this.baseForm.addForm[i].regName != "") { //后端是数组,前端是list集合所以需要把遍历到的信息存到数组里,然后调用此功能时将数据插入到集合中    
                                    this.getData()
                                    this.submit()
                                    this.update = false
                                    this.$nextTick(() => {
                                        this.update = true
                                    })
                                }
                            }
                            this.getData()
                        }).catch(()=>{});//注意这里,这里是重点!!!
                    } else {
                        this.$message.error('新增失败,请检查!!!')
                    }
                })
            },

小讯
上一篇 2025-01-18 20:35
下一篇 2025-03-27 11:56

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/26573.html