feat: 备用音频录制组件&登录页取消原生form验证

This commit is contained in:
zhangyh
2025-10-20 17:01:37 +08:00
parent 617351d0dd
commit acf5de942d
5 changed files with 907 additions and 76 deletions

View File

@@ -15,14 +15,13 @@
</div>
<div class="login-container">
<form @submit.prevent="handleLogin" class="login-form">
<form @submit.prevent="handleLogin" class="login-form" novalidate>
<div class="input-group">
<input
type="email"
v-model="formData.email"
placeholder="Email"
class="input-field"
required
/>
</div>
<div class="input-group pwd">
@@ -31,7 +30,6 @@
v-model="formData.password"
placeholder="Your Password"
class="input-field"
required
/>
</div>
@@ -69,11 +67,7 @@ const formData = reactive<Record<string, string>>({
password: ''
})
// 表单验证状态
const formErrors = reactive<Record<string, string>>({
email: '',
password: ''
})
// 移除表单错误状态管理,改用 toast 提示
// 加载状态
const isLoading = ref(false)
@@ -90,31 +84,25 @@ const validatePassword = (password: string) => {
// 验证表单
const validateForm = () => {
let isValid = true
// 重置错误信息
formErrors.email = ''
formErrors.password = ''
// 验证邮箱
if (!formData.email) {
formErrors.email = '请输入邮箱地址'
isValid = false
showToast('请输入邮箱地址')
return false
} else if (!validateEmail(formData.email)) {
formErrors.email = '请输入有效的邮箱地址'
isValid = false
showToast('请输入有效的邮箱地址')
return false
}
// 验证密码
if (!formData.password) {
formErrors.password = '请输入密码'
isValid = false
showToast('请输入密码')
return false
} else if (!validatePassword(formData.password)) {
formErrors.password = '密码至少需要6位字符'
isValid = false
showToast('密码至少需要6位字符')
return false
}
return isValid
return true
}
// 返回上一页
@@ -125,7 +113,6 @@ const goBack = () => {
// 处理登录
const handleLogin = async () => {
if (!validateForm()) {
showToast('请检查输入信息')
return
}
@@ -179,22 +166,7 @@ const handleSignup = () => {
router.push('/signup')
}
// 实时验证输入
const handleEmailInput = () => {
if (formData.email && !validateEmail(formData.email)) {
formErrors.email = '请输入有效的邮箱地址'
} else {
formErrors.email = ''
}
}
const handlePasswordInput = () => {
if (formData.password && !validatePassword(formData.password)) {
formErrors.password = '密码至少需要6位字符'
} else {
formErrors.password = ''
}
}
// 移除实时验证输入的错误显示逻辑,改用表单提交时统一验证
</script>
<style scoped lang="less">