<template>
<el-form :model="form" :rules="rules" ref="form" label-width="120px">
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="年龄" prop="age">
<el-input v-model="form.age"></el-input>
</el-form-item>
<el-form-item label="住址" prop="address">
<el-input v-model="form.address"></el-input>
</el-form-item>
<el-form-item label="电话" prop="phone">
<el-input v-model="form.phone"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('form')">提交</el-button>
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
return {
form: {
name: '',
age: '',
address: '',
phone: ''
},
rules: {
name: [
{ required: true, message: '请输入姓名', trigger: 'blur' },
{ min: 3, max: 15, message: '长度在 3 到 15 个字符', trigger: 'blur' }
],
age: [
{ required: true, message: '请输入年龄', trigger: 'blur' },
{ min: 18, max: 100, message: '年龄在 18 到 100 岁之间', trigger: 'blur' }
],
address: [
{ required: true, message: '请输入住址', trigger: 'blur' },
{ min: 5, max: 20, message: '长度在 5 到 20 个字符', trigger: 'blur' }
],
phone: [
{ required: true, message: '请输入电话号码', trigger: 'blur' },
{ pattern: /^1[3456789]\d{9}$/, message: '请输入正确的电话号码', trigger: 'blur' }
]
},
apiUrl: 'https://example.com/api/submit' // 后端接口的URL
};
},
methods: {
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
// 表单验证通过,提交表单数据到后端接口
axios.post(this.apiUrl, this.form)
.then((response) => {
// 后端接口返回成功处理逻辑...
console.log('提交成功');
})
.catch((error) => {
// 后端接口返回失败处理逻辑...
console.log('提交失败');
});
} else {
// 表单验证失败,显示错误信息...
console.log('表单验证失败');
return false;
}
});
}
}
}
</script>
表单提交是
阿金要当大魔王~~2023-11-14 15:43
相关推荐
午安~婉6 小时前
Electron桌面应用聊天(续)哟哟耶耶7 小时前
vue3-单文件组件css功能(:deep,:slotted,:global,useCssModule,v-bind)是罐装可乐7 小时前
深入理解“句柄(Handle)“:从浏览器安全到文件系统访问华科易迅7 小时前
Vue如何集成封装Axios不是az7 小时前
CSS知识点记录昵称暂无18 小时前
.NET 高级开发 | i18n 原理、实现一个 i18n 框架h_jQuery8 小时前
vue使用gm-crypto对数据进行sm4加密处理阿赛工作室9 小时前
Vue中onBeforeUnmount不触发的解决方案浩星9 小时前
electron系列1:Electron不是玩具,为什么桌面应用需要它?_院长大人_10 小时前
Vue + ECharts 实现价格趋势分析图