基于Vue3+Element Plus 实现多表单校验
warning:
这篇文章距离上次修改已过202天,其中的内容可能已经有所变动。
<template>
<el-form :model="formData" ref="formRef" :rules="rules">
<el-form-item prop="name">
<el-input v-model="formData.name"></el-input>
</el-form-item>
<el-form-item prop="age">
<el-input v-model.number="formData.age"></el-input>
</el-form-item>
<el-button @click="submitForm">提交</el-button>
</el-form>
</template>
<script setup>
import { reactive, ref } from 'vue';
import { ElMessage } from 'element-plus';
const formData = reactive({
name: '',
age: undefined,
});
const formRef = ref(null);
const validate = async () => {
try {
await formRef.value.validate();
ElMessage.success('验证通过');
} catch (error) {
ElMessage.error('验证失败');
}
};
const submitForm = () => {
validate();
};
const rules = {
name: [
{ required: true, message: '请输入姓名', trigger: 'blur' },
],
age: [
{ required: true, message: '请输入年龄', trigger: 'blur' },
{ type: 'number', message: '年龄必须是数字值', trigger: 'blur' },
],
};
</script>
这个例子中,我们使用了Vue 3的 <script setup>
语法糖,结合Element Plus UI框架实现了一个简单的表单验证功能。formData
是一个响应式对象,用于绑定表单输入字段;formRef
是一个响应式引用,指向 <el-form>
组件实例;rules
对象定义了表单验证规则。validate
方法用于触发表单的验证,如果验证通过则显示成功消息,否则显示错误消息。
评论已关闭