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
})