<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
相关推荐
玫城32 分钟前
[ VUE ] 封装通用数组校验组件,el-input内使用弓.长.5 小时前
React Native 鸿蒙跨平台开发:实现一个多功能单位转换器南半球与北海道#5 小时前
前端打印(三联纸票据打印)摘星编程5 小时前
React Native for OpenHarmony 实战:ToggleSwitch 切换开关详解满栀5855 小时前
分页插件制作qq_406176146 小时前
深入剖析JavaScript原型与原型链:从底层机制到实战应用弓.长.6 小时前
React Native 鸿蒙跨平台开发:BottomSheet 底部面板详解摘星编程6 小时前
React Native for OpenHarmony 实战:Permissions 权限管理详解闲蛋小超人笑嘻嘻7 小时前
Vue 插槽:从基础到进阶摘星编程7 小时前
React Native for OpenHarmony 实战:SearchBar 搜索栏详解