当前位置:实例文章 » HTML/CSS实例» [文章]使用Vue + el-form + rules实现图书信息录入功能实战

使用Vue + el-form + rules实现图书信息录入功能实战

发布人:shili8 发布时间:2025-01-12 20:00 阅读次数:0

**使用 Vue + El-Form + Rules 实现图书信息录入功能实战**

在前端开发中,表单验证是非常重要的一部分。Vue.js 提供了一个强大的库叫做 El-Form,可以帮助我们实现复杂的表单验证逻辑。在本文中,我们将使用 Vue + El-Form + Rules 实现图书信息录入功能实战。

**项目结构**

首先,我们需要创建一个新的 Vue项目。假设我们的项目名称是 `book-manager`,我们可以使用以下命令创建项目:

bashvue create book-manager

然后,我们需要安装必要的依赖包,包括 `el-form` 和 `rules`。
bashnpm install el-form rules

**图书信息录入组件**

接下来,我们需要创建一个新的 Vue 组件来实现图书信息录入功能。我们可以在 `src/components` 目录下创建一个新文件 `BookForm.vue`。

html<template>
 <div>
 <el-form ref="form" :model="book" label-position="left">
 <el-form-item label="书名" prop="name">
 <el-input v-model="book.name"></el-input>
 </el-form-item>
 <el-form-item label="作者" prop="author">
 <el-input v-model="book.author"></el-input>
 </el-form-item>
 <el-form-item label="出版日期" prop="publishDate">
 <el-date-picker type="date" v-model="book.publishDate" format="yyyy-MM-dd" value-format="yyyy-MM-dd"></el-date-picker>
 </el-form-item>
 <el-form-item label="价格" prop="price">
 <el-input v-model.number="book.price"></el-input>
 </el-form-item>
 </el-form>
 </div>
</template>

<script>
export default {
 data() {
 return {
 book: {
 name: '',
 author: '',
 publishDate: '',
 price: ''
 }
 }
 },
 methods: {
 submitForm(formName) {
 this.$refs[formName].validate((valid) => {
 if (valid) {
 console.log('submit!')
 } else {
 console.log('error submit!!')
 return false }
 })
 }
 }
}
</script>

在上面的代码中,我们定义了一个 `book` 对象来存储图书信息。我们使用 `el-form-item` 来创建表单项,分别对应着书名、作者、出版日期和价格。

**验证规则**

接下来,我们需要定义验证规则。我们可以在 `src/rules.js` 文件中定义以下规则:
javascriptexport default {
 name: [
 { required: true, message: '请输入书名', trigger: 'blur' }
 ],
 author: [
 { required: true, message: '请输入作者', trigger: 'blur' }
 ],
 publishDate: [
 { type: 'date', required: true, message: '请选择出版日期', trigger: 'change' }
 ],
 price: [
 { required: true, message: '请输入价格', trigger: 'blur' },
 { pattern: /^d+(.d+)?$/, message: '请输入正确的价格格式', trigger: 'blur' }
 ]
}

在上面的代码中,我们定义了四个验证规则,分别对应着书名、作者、出版日期和价格。

**使用 El-Form 实现表单验证**

最后,我们需要在 `BookForm.vue` 组件中使用 El-Form 来实现表单验证。
html<template>
 <div>
 <el-form ref="form" :model="book" label-position="left">
 <!-- ... -->
 </el-form>
 </div>
</template>

<script>
import rules from '../rules'

export default {
 // ...
 methods: {
 submitForm(formName) {
 this.$refs[formName].validate((valid) => {
 if (valid) {
 console.log('submit!')
 } else {
 console.log('error submit!!')
 return false }
 })
 }
 },
 mounted() {
 this.$nextTick(() => {
 this.$refs.form.clearValidate()
 })
 }
}
</script>

在上面的代码中,我们使用 `el-form` 来创建表单,分别对应着书名、作者、出版日期和价格。我们还定义了一个 `submitForm` 方法来实现表单验证。

**总结**

在本文中,我们使用 Vue + El-Form + Rules 实现图书信息录入功能实战。我们首先创建了一个新的 Vue项目,然后安装必要的依赖包,包括 `el-form` 和 `rules`。接下来,我们定义了一个 `book` 对象来存储图书信息,并使用 `el-form-item` 来创建表单项。然后,我们定义了验证规则,并在 `BookForm.vue` 组件中使用 El-Form 来实现表单验证。

**参考**

* [Vue.js]( />* [El-Form]( />* [Rules](

其他信息

其他资源

Top