feat: 备用音频录制组件&登录页取消原生form验证
This commit is contained in:
@@ -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">
|
||||
|
||||
Reference in New Issue
Block a user