<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
相关推荐
烂蜻蜓2 小时前
前端已死?什么是前端Rowrey3 小时前
react+typescript,初始化与项目配置谢尔登3 小时前
Vue 和 React 的异同点祈澈菇凉7 小时前
Webpack的基本功能有哪些记得早睡~8 小时前
leetcode150-逆波兰表达式求值庸俗今天不摸鱼9 小时前
Canvas进阶-4、边界检测(流光,鼠标拖尾)yanglamei19629 小时前
基于Python+Django+Vue的旅游景区推荐系统系统设计与实现源代码+数据库+使用说明[廾匸]9 小时前
cesium视频投影fendouweiqian10 小时前
element-plus 根据条件显示多选框流烟默10 小时前
vue和微信小程序处理markdown格式数据