vue3使用element-plus的表单验证
时间: 2023-09-21 13:03:36 浏览: 110
要在Vue3中使用Element Plus的表单验证,可以按照以下步骤进行:
1. 安装Element Plus和其依赖:
```
npm install element-plus --save
npm install async-validator --save
```
2. 在Vue中导入Element Plus和其样式:
```javascript
import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/lib/theme-chalk/index.css'
import App from './App.vue'
const app = createApp(App)
app.use(ElementPlus)
app.mount('#app')
```
3. 在组件中使用Element Plus的表单验证:
```html
<template>
<el-form :model="form" :rules="rules">
<el-form-item label="用户名" prop="username">
<el-input v-model="form.username"></el-input>
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input v-model="form.password" type="password"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('form')">提交</el-button>
</el-form-item>
</el-form>
</template>
<script>
import { ref } from 'vue'
export default {
setup() {
const form = ref({
username: '',
password: ''
})
const rules = ref({
username: [
{ required: true, message: '请输入用户名', trigger: 'blur' },
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
],
password: [
{ required: true, message: '请输入密码', trigger: 'blur' },
{ min: 6, max: 10, message: '长度在 6 到 10 个字符', trigger: 'blur' }
]
})
const submitForm = () => {
// 校验表单
validateForm('form')
.then(() => {
// 表单校验通过
console.log('submit success')
})
.catch(() => {
// 表单校验不通过
console.log('submit error')
})
}
const validateForm = (formName) => {
return new Promise((resolve, reject) => {
// 校验表单
this.$refs[formName].validate(valid => {
if (valid) {
resolve()
} else {
reject()
}
})
})
}
return {
form,
rules,
submitForm
}
}
}
</script>
```
以上就是在Vue3中使用Element Plus的表单验证的方法。需要注意的是,其中的`validate`方法是从`this`对象中获取的,因此需要使用`this.$refs`来引用表单组件。
阅读全文