element-plus 中form提交验证注意点

hykeda1年前TypeSctipt299

<el-form ref="roleDialogFormRef" :model="formfields" size="default" label-width="90px"
                :rules="rules"
            >


<el-form-item label="名称" prop="title">

     <el-input v-model="formfields.title" placeholder="请输入名称" clearable></el-input>

</el-form-item>

<el-button type="primary" @click="onSubmit(roleDialogFormRef)" size="default">提交</el-button>



注意:这里绑定的 formfields变量

必须是一层的对象

const formfields = reactive({

        title:''   

})

如果改成:

const formfields = reactive({

    form:{

        title:'',

    }              

})



const rules = reactive<FormRules>({
  title: [
    { required: true, message: '请输入名称', trigger: 'blur' },
    { min: 3, max: 100, message: '长度3-100', trigger: 'blur' },
  ],
})



const onSubmit = async (formEl: FormInstance | undefined) => {
    if (!formEl) return
    await formEl.validate((valid) => {
        console.log(valid)
        console.log(formfields.title)
        if (valid) {
            //成功
        } else {
            return false
        }
    })

如果字段变成有两层对象形式存放,form表单的自动验证无法验证成功

标签: elementform

相关文章

页面直接使用ElementUI,官方提供的表格代码,样式错乱

页面直接使用ElementUI,官方提供的表格代码,样式错乱

在使用element编写前端代码是,引入element的css和js,使用官方提供的例子:<template>   <el-table :data=&...

直接在浏览器中使用 vue3+element-plus中icons的方法

首先引入文件,如果用cdn的方式:<script src="//unpkg.com/@element-plus/icons-vue"></script&...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。