el-form前端表单校验步骤详细

这篇具有很好参考价值的文章主要介绍了el-form前端表单校验步骤详细。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

el-form前端表单校验步骤详细

(1),Form组件提供了表单验证的功能,只需要通过rules属性传入约定的验证规则,并将Form-Item的prop属性设置为需校验的字段名即可。

<el-form :model="formData" :rules="rules" ref="form">
    <el-form-item label="活动名称" prop="name">
        <el-input v-model="formData.name" />
    </el-form-item>
</el-form>
<el-button @click="submit">提交</el-button>

(2),data->return里面加上formData,在这里写上限定条件,通过rules属性传入约定的验证规则

<script>
    export default {
        return {
            name:''
        },
        const nameValidator = (rule,value,callback)=>{ 校验内容 },
        rules:{
            name:[
                { required: true(不填的时候提示不能为空), message: '请输入活动名称', trigger: 'blur'(失去焦点的时候触发) },
                // 第一条验证复合要求时,才会执行第二条
                { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' },
                // 第二条验证复合要求时,才会执行第三条
                { validator: nameValidator(限定条件), trigger:'blur' }
            ]
        }
    }
</script>

(3),提交验证

methods:{
    submit(){
        this.$refs.form.validate(pass => {
            if(!pass) return;
            需要执行的代码
        })
    }
}

例子:文章来源地址https://www.toymoban.com/news/detail-603827.html

// 如果设备名称是铅笔,设备分类就为行政办公设备
<template>
    <el-form :model="formData" :rules="rules" ref="form">
        <el-form-item label="活动名称" prop="name">
            <el-input v-model="formData.name" />
        </el-form-item>
        <el-form-item label="设备分类" prop="category">
            <el-select v-model="formData.category" placeholder="请选择">
                <el-option v-for="d in $store.state.categoryList" :key="d.id" :label="d.name" :value="d.id" ></el-option>
            </el-select>
        </el-form-item>
    </el-form>
    <el-button type="primary" @click="submit">提交</el-button>
</template>
<script>
    export default {
        data(){
            // 获取的数据是从vuex中获取的
            const nameValidator = (rule,value,callback)=>{
                // 只判断铅笔是办公用品,只是例子
                const { category } = this.formData;
                const cName = this.$store.getters.categoryObj[category].name;
                if(value === '铅笔' && category && category !== 'CATE9'){
                    callback(new Error(`铅笔不属于${cName}`))
                }else{
                    callback();
                }
            },
            const categoryValidator = (rule,value,callback) => {
                // 调用别的表单项的校验
                this.$refs.form.validateField('name');
                callback();
            },
            return {
                formData:{
                    name:'',
                }
            },
            rules:{
                name:[
                    { required: true, message: '请输入设备名称', trigger: 'blur' },
                    { validator: nameValidator, trigger:'blur' }
                ],
                category:[
                    { required: true, message: '请选择设备分类', trigger: 'change' },
                    { validator: categoryValidator, trigger:'change' }
                ]
            }
        },
        methods:{
            submit(){
                this.$refs.form.validate(pass => {
                    if(!pass) return;
                    this.submiting=true;
                    axios.post('/pre-edit',this.formData).then(res =>{
                        this.submiting=false;
                        if(!res.code){
                            this.$message.success('编辑成功');
                            this.$router.back();
                        }
                    })
                })
            }
        }
    }
</script>

到了这里,关于el-form前端表单校验步骤详细的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue - Element el-form 表单对象多层嵌套校验

    针对el-form的数据源是对象嵌套对象,在进行数据绑定和校验时和单层的对象有一点区别, 具体是下面两部分: 数据源: 1、 给 el-form-item 的 prop 设为: prop=\\\"health.height\\\" 。 v-model 设为: v-model=\\\"fromData.health.height\\\" 2、校验规则 rules 对象对应的key设置为数据源内部的值: \\\'health.heig

    2024年02月14日
    浏览(53)
  • el-form表单全部/部分添加一样字段内容并表单校验(复制即可实现)

    需求:表单有俩个按钮,一个是全部添加,一个是部分添加默认如下:  点击添加饮品爱好后如下,可以添加多个 点击添加全部,并且点击提交按钮后的表单校验,如下图:  全部代码如下,可自行复制查看  得到的数据结构如下图,不会影响,都是单独的表单验证:  这样

    2024年02月08日
    浏览(42)
  • 解决el-form一进页面就会触发表单校验问题

    预期效果是:打开页面,外出地点和其他属性一样,不会自动触发表单非空校验,而是在操作当前属性时触发。 解决思路: 设置初始值为空数组即可 若不是多选,是输入框或者其他就初始化对应的值即可。思路大概是这样~

    2024年02月16日
    浏览(54)
  • el-form表单动态校验(场景: 输入框根据单选项来动态校验表单 没有选中的选项就不用校验)

    el-form常规校验方式: 正题部分-表单动态校验 场景: 输入框根据单选项来动态校验表单 没有选中的选项就不用校验 效果: 关键点: 跟正常校验流程不同的是, el-form-item标签内的required和rules都要加上判断条件

    2024年02月09日
    浏览(53)
  • el-form表单中不同数据类型对应的时间格式化和校验规则

     1. 在表单中, 当选择不同的数据类型时, 需要在下面选择时间时和数据类型对应上, 通过监听数据类型的变化, 给时间做格式化, 2. 但是当不按顺序选择数据类型后, 再选时间可能会报错, 所以需要在dom更新后, 再清空表单. 3. 校验规则, 结束时间需要大于开始时间, 但是不能选当

    2024年02月09日
    浏览(48)
  • el-form组件如何清除校验提示(前端技能提升)

    在切换radio切换的时候校验提示提示出来了,本身不应该出来但是如何取消呢?因为在切换时候我们置空但是并没有取消校验,所以从通过到拒绝置空时候肯定会出现提示语,那么我们把提示校验的方法去掉就行了。       我们在页面切换的时候使用同一个Form组件,我们就需

    2024年02月04日
    浏览(38)
  • (el-Form)操作(不使用 ts):Element-plus 中 Form 表单组件校验规则等的使用

    1、 Element-plus 提供 Form 表单组件情况: 其一、 Element-plus 自提供的 Form 代码情况为(示例的代码): 代码地址( 直接点击下面 url 跳转 ):https://element-plus.gitee.io/zh-CN/component/form.html#自定义校验规则 其二、页面的显示情况为: 2、目标想修改后的情况: // 此时虽然页面的样式有些变

    2024年02月13日
    浏览(51)
  • element-ui的el-form表单和el-table校验嵌套使用校验el-input和el-select

    场景:前端开发中,经常会遇到比较多的表单填写页面,其中有el-form,el-table,表格的每一列中又嵌套着输入框或者下拉框,然后每个还需要做单独的校验 效果:   点击保存可校验el-input和el-select是否有值,不符合校验规则就标红提醒   1.el-form里面嵌套el-table 2.在el-table-column自定义内

    2024年02月02日
    浏览(52)
  • el-form与el-upload结合上传带附件的表单数据(前端篇)

    本文前端采用Vue + element-plus技术栈,前端项目参考yudao-ui-admin-vue3项目与 Geeker-Admin项目。 这篇文章是el-form与el-upload结合上传带附件的表单数据(后端篇)-CSDN博客姐妹篇,后端篇文章主要讲的是后端的实现逻辑,前端篇稍微简单一些,其实最主要的就是封装el-upload组件,供具

    2024年01月22日
    浏览(46)
  • el-form/el-form-item表单验证

    如下图所示,当触发表单验证后,输入相应的内容,表单检验通过,但是上传图片后的表单校验没有通过,需要点击表单提交触发表单提交时的校验才有效 el-form 表单,在输入内容改变元素的值后,会触发上层 el-form-item 的 el.form.chang / \\\'el.form.blur’事件,el-form-item 接收到此事

    2024年02月12日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包