<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
相关推荐
脑袋大大的34 分钟前
判断当前是否为钉钉环境军军君0144 分钟前
基于Springboot+UniApp+Ai实现模拟面试小工具二:后端项目搭建江城开朗的豌豆3 小时前
退出登录后头像还在?这个缓存问题坑过多少前端!江城开朗的豌豆3 小时前
Vue的'读心术':它怎么知道数据偷偷变了?江城开朗的豌豆3 小时前
手把手教你造一个自己的v-model:原来双向绑定这么简单!我在北京coding3 小时前
el-tree 懒加载 loadNode江城开朗的豌豆3 小时前
v-for中key值的作用:为什么我总被要求加这个'没用的'属性?goldenocean4 小时前
React之旅-05 List KeyMintopia5 小时前
像素的进化史诗:计算机图形学与屏幕的千年之恋