5151 type =" primary"
5252 v-on:click =" onSubmit();"
5353 :loading =" buttonLoading"
54- :disabled =" ! (legal_1 && legal_2 && legal_3 && legal_4)"
5554 >
5655 Register
5756 </el-button >
@@ -70,69 +69,38 @@ import captcha from './../lib/captcha.vue';
7069export default {
7170 name: ' UserRegister' ,
7271 data () {
72+ let validatePasswd = (rule , value , callback ) => {
73+ if (value === ' ' || value === this .ldata .password ) {
74+ callback ();
75+ } else {
76+ callback (new Error (' Password mismatch' ));
77+ }
78+ };
79+ let validateEmail = (rule , value , callback ) => {
80+ let regular = new RegExp (' ^(\\ w-*\\ .*)+@(\\ w-?)+(\\ .\\ w{2,})+$' );
81+ if (regular .test (value) || value === ' ' ) {
82+ callback ();
83+ } else {
84+ callback (new Error (' Email format error' ));
85+ }
86+ };
7387 let validateUsername = (rule , value , callback ) => {
7488 if (value === ' ' ) {
75- this .legal_1 = false ;
76- callback (new Error (' Input your username' ));
77- }
78- if (value .length > 150 ) {
79- this .legal_1 = false ;
80- callback (new Error (' No more than 150 characters' ));
89+ callback ();
8190 }
8291 this .$axios
8392 .get (apiurl (' account/username/accessibility/' + value))
8493 .then (() => {
85- this .legal_1 = true ;
8694 callback ();
8795 })
8896 .catch (err => {
8997 if (err .request .status === 409 ) {
90- this .legal_1 = false ;
9198 callback (new Error (' The user name is already in use' ));
9299 } else {
93- this .legal_1 = false ;
94100 callback (new Error (' Unkown Error' ));
95101 }
96102 });
97103 };
98- let validatePasswd = (rule , value , callback ) => {
99- if (value === ' ' ) {
100- this .legal_2 = false ;
101- callback (new Error (' Input your username' ));
102- } else if (value .length < 6 ) {
103- this .legal_2 = false ;
104- callback (new Error (' No less than 6 characters' ));
105- } else {
106- this .legal_2 = true ;
107- callback ();
108- }
109- };
110- let validatePasswdRp = (rule , value , callback ) => {
111- if (value === ' ' ) {
112- this .legal_3 = false ;
113- callback (new Error (' Repeat your password' ));
114- } else if (value !== this .ldata .password ) {
115- this .legal_3 = false ;
116- callback (new Error (' Password mismatch' ));
117- } else {
118- this .legal_3 = true ;
119- callback ();
120- }
121- };
122- let validateEmail = (rule , value , callback ) => {
123- if (value === ' ' ) {
124- this .legal_4 = false ;
125- callback (new Error (' Input your email' ));
126- }
127- let regular = new RegExp (' ^(\\ w-*\\ .*)+@(\\ w-?)+(\\ .\\ w{2,})+$' );
128- if (regular .test (value)) {
129- this .legal_4 = true ;
130- callback ();
131- } else {
132- this .legal_4 = false ;
133- callback (new Error (' Email format error' ));
134- }
135- };
136104 return {
137105 ldata: {
138106 username: ' ' ,
@@ -142,23 +110,24 @@ export default {
142110 },
143111 rules: {
144112 username: [
113+ { required: true , message: ' Input your username' , trigger: ' blur' },
114+ { max: 150 , message: ' No more than 150 characters' , trigger: ' blur' },
145115 { validator: validateUsername, trigger: ' blur' }
146116 ],
147117 password: [
148- { validator: validatePasswd, trigger: ' blur' }
118+ { required: true , message: ' Input your password' , trigger: ' blur' },
119+ { min: 6 , message: ' No less than 6 characters' , trigger: ' blur' }
149120 ],
150121 passwdrepeat: [
151- { validator: validatePasswdRp, trigger: ' blur' },
122+ { required: true , message: ' Repeat your password' , trigger: ' blur' },
123+ { validator: validatePasswd, trigger: ' blur' },
152124 ],
153125 email: [
126+ { required: true , message: ' Input your email' , trigger: ' blur' },
154127 { validator: validateEmail, trigger: ' blur' }
155128 ]
156129 },
157- buttonLoading: false ,
158- legal_1: false ,
159- legal_2: false ,
160- legal_3: false ,
161- legal_4: false
130+ buttonLoading: false
162131 };
163132 },
164133 methods: {
@@ -213,10 +182,6 @@ export default {
213182 });
214183 },
215184 reset () {
216- this .legal_1 = false ;
217- this .legal_2 = false ;
218- this .legal_3 = false ;
219- this .legal_4 = false ;
220185 this .$refs [' registerForm' ].resetFields ();
221186 }
222187 },
@@ -234,4 +199,4 @@ export default {
234199.margin-bottom {
235200 margin-bottom : 20px ;
236201}
237- </style >
202+ </style >
0 commit comments