完成个人信息界面的表单验证

main
abab2320 2 months ago
parent a4e4fa5b48
commit af73bbcc58

@ -242,7 +242,7 @@ async function login(){
<template> <template>
<title>登录</title> <title>登录</title>
<!-- 错误信息显示但是有bug无法显示 --> <!-- 错误信息显示现在无法做到精确显示 -->
<el-alert <el-alert
class = "error-msg" class = "error-msg"
v-if="showErrors" v-if="showErrors"

@ -1,5 +1,5 @@
<script set lang="ts"> <script set lang="ts">
import { defineComponent, ref } from 'vue'; import { defineComponent, ref, nextTick ,watch} from 'vue';
import{useForm,useField,Form} from 'vee-validate'; import{useForm,useField,Form} from 'vee-validate';
import * as yup from 'yup'; import * as yup from 'yup';
import { useGetDerivedNamespace } from 'element-plus'; import { useGetDerivedNamespace } from 'element-plus';
@ -43,6 +43,9 @@ export default defineComponent({
PasswordEdit.value = !PasswordEdit.value; PasswordEdit.value = !PasswordEdit.value;
}; };
const errorsMeg = ref('');
// //
// //
const ProfileScheme = useForm({ const ProfileScheme = useForm({
@ -54,7 +57,6 @@ export default defineComponent({
} }
) )
}) })
const{errors} = ProfileScheme;
// //
const PasswordSheme = useForm({ const PasswordSheme = useForm({
@ -72,37 +74,40 @@ export default defineComponent({
) )
}) })
// //
const onProfileSubmit = () =>{ //
const onProfileSubmit = async() =>{
console.log("调用个人信息提交函数"); console.log("调用个人信息提交函数");
ProfileScheme.resetForm({values:{...formData.value}}); ProfileScheme.resetForm({values:{...formData.value},
errors:{}});
PasswordSheme.resetForm({errors:{}});
ProfileScheme.handleSubmit((values)=>{ ProfileScheme.handleSubmit((values)=>{
console.log("表单调用成功",values); console.log("表单调用成功",values);
console.log("保存成功"); console.log("保存成功");
isEditable.value = false; isEditable.value = false;
},(err) =>{ },(errors) => {
console.log("表单调用失败",err); console.log("表单调用失败", errors);
showErrors.value = true; formData.value = { ...originData.value }; //
formData.value = {...originData.value}; }
})(); )();
} }
const onPasswordSubmit = ()=> //
const onPasswordSubmit = async()=>
{ {
console.log("调用密码提交函数"); console.log("调用密码提交函数");
PasswordSheme.resetForm({values:{ PasswordSheme.resetForm({values:{
newpassword:newpassword.value, newpassword:newpassword.value,
newpasswordConfirm:newpasswordConfirm.value, newpasswordConfirm:newpasswordConfirm.value,
emailCode:emailCode.value emailCode:emailCode.value
}}); },errors:{}});
ProfileScheme.resetForm({errors:{}});
PasswordSheme.handleSubmit((values)=>{ PasswordSheme.handleSubmit((values)=>{
console.log("表单调用成功",values); console.log("表单调用成功",values);
console.log("修改成功"); console.log("修改成功");
PasswordEdit.value = false; PasswordEdit.value = false;
},(err) =>{ },(err) =>{
console.log("表单调用失败",err); console.log("表单调用失败",err);
showErrors.value = true;
})(); })();
} }
@ -122,9 +127,9 @@ export default defineComponent({
ProfileScheme, ProfileScheme,
PasswordSheme, PasswordSheme,
onProfileSubmit, onProfileSubmit,
errors,
showErrors, showErrors,
onPasswordSubmit onPasswordSubmit,
errorsMeg,
}; };
} }
}); });
@ -135,7 +140,7 @@ export default defineComponent({
<el-alert <el-alert
class = "error-msg" class = "error-msg"
v-if="showErrors" v-if="showErrors"
:title= errors.username :title= "errorsMeg"
type="error" type="error"
effect="dark" effect="dark"
:closable="true" :closable="true"

Loading…
Cancel
Save