diff --git a/src/components/page/YouthEditorialBoardRegistration.vue b/src/components/page/YouthEditorialBoardRegistration.vue index 80f106d..45f2e29 100644 --- a/src/components/page/YouthEditorialBoardRegistration.vue +++ b/src/components/page/YouthEditorialBoardRegistration.vue @@ -27,14 +27,13 @@ type="text" v-model="formData.engName" placeholder="" - required autocomplete="off" />
- +
@@ -43,7 +42,6 @@ type="text" v-model="formData.password" placeholder="" - required autocomplete="off" />
@@ -317,7 +315,22 @@ export default { return; } - const email = (this.formData.email || '').toLowerCase(); + const engName = (this.formData.engName || '').trim(); + if (!engName) { + this.alertError('Please enter your English name.'); + return; + } + + const emailRaw = (this.formData.email || '').trim(); + if (!emailRaw) { + this.alertError('Please enter your email address.'); + return; + } + const email = emailRaw.toLowerCase(); + if (!/^[-._A-Za-z0-9]+@[A-Za-z0-9_-]+(\.[A-Za-z0-9_-]+)+$/.test(email)) { + this.alertError('Please enter a valid email address.'); + return; + } if (email.endsWith('@qq.com')) { this.alertError('Registration failed: QQ email addresses are not accepted.'); return; @@ -340,8 +353,8 @@ export default { .post('api/Ucenter/submitApplyYboardForExpert', { journal_id: this.journalId, expert_id: this.expertId, - name: this.formData.engName, - email: this.formData.email, + name: engName, + email: emailRaw, cv: this.uploadedCvPath, password: this.formData.password })