@@ -87,9 +87,11 @@ var testAddPasswordSubmitEnable = function() {
87
87
var $form = $ ( '#addpassword_form' ) ;
88
88
var pass = $form . find ( '.pass' ) . val ( ) ;
89
89
var pass_repeat = $form . find ( '.pass_repeat' ) . val ( ) ;
90
+ $form . find ( '.pass, .pass_repeat' ) . removeClass ( 'error' ) ;
91
+ $form . find ( '.errormessage' ) . css ( 'visibility' , 'hidden' ) ;
92
+
90
93
if ( isValidPassword ( pass ) && pass === pass_repeat ) {
91
- $form . find ( '.submit' ) . removeClass ( 'disabled' ) ;
92
- $form . find ( '.pass, .pass_remove' ) . removeClass ( 'error' ) ;
94
+ $form . find ( '.submit' ) . removeClass ( 'disabled' ) ;
93
95
} else {
94
96
$form . find ( '.submit' ) . addClass ( 'disabled' ) ;
95
97
}
@@ -100,9 +102,10 @@ var testChangePasswordSubmitEnable = function() {
100
102
var oldpass = $form . find ( '.oldpass' ) . val ( ) ;
101
103
var pass = $form . find ( '.pass' ) . val ( ) ;
102
104
var pass_repeat = $form . find ( '.pass_repeat' ) . val ( ) ;
105
+ $form . find ( '.errormessage' ) . css ( 'visibility' , 'hidden' ) ;
106
+ $form . find ( '.oldpass, .pass, .pass_repeat' ) . removeClass ( 'error' ) ;
103
107
if ( oldpass !== "" && isValidPassword ( pass ) && pass === pass_repeat ) {
104
108
$form . find ( '.submit' ) . removeClass ( 'disabled' ) ;
105
- $form . find ( '.oldpass, .pass, .pass_remove' ) . removeClass ( 'error' ) ;
106
109
} else {
107
110
$form . find ( '.submit' ) . addClass ( 'disabled' ) ;
108
111
}
@@ -249,16 +252,19 @@ var addPasswordClick = function() {
249
252
$this = $ ( this ) ;
250
253
var $form = $ ( '#addpassword_form' ) ;
251
254
252
- $form . find ( '.pass, .pass_remove' ) . removeClass ( 'error' ) ;
255
+ $form . find ( '.pass, .pass_repeat' ) . removeClass ( 'error' ) ;
256
+ $form . find ( '.errormessage' ) . css ( 'visibility' , 'hidden' ) ;
253
257
var pass = $this . parent ( ) . find ( '.pass' ) . val ( ) ;
254
258
var pass_repeat = $this . parent ( ) . find ( '.pass_repeat' ) . val ( ) ;
255
259
256
260
if ( ! isValidPassword ( pass ) ) {
257
261
$form . find ( '.pass' ) . addClass ( 'error' ) ;
262
+ $form . find ( '.errormessage' ) . text ( getPasswordProblem ( pass ) ) . css ( 'visibility' , 'visible' ) ;
258
263
return ;
259
264
}
260
265
if ( pass !== pass_repeat ) {
261
266
$form . find ( '.pass_repeat' ) . addClass ( 'error' ) ;
267
+ $form . find ( '.errormessage' ) . text ( "new password does not match" ) . css ( 'visibility' , 'visible' ) ;
262
268
return ;
263
269
}
264
270
@@ -273,7 +279,7 @@ var addPasswordClick = function() {
273
279
window . location . href = "/app/auth" ;
274
280
} else {
275
281
$form . find ( '.pass' ) . addClass ( 'error' ) ;
276
- $form . find ( '.instructions ' ) . text ( data . error ) ;
282
+ $form . find ( '.errormessage ' ) . text ( data . error ) . css ( 'visibility' , 'visible' ) ;
277
283
}
278
284
}
279
285
) ;
@@ -284,21 +290,25 @@ var changePasswordClick = function() {
284
290
$this = $ ( this ) ;
285
291
var $form = $ ( '#changepassword_form' ) ;
286
292
287
- $form . find ( '.oldpass, .pass, .pass_remove' ) . removeClass ( 'error' ) ;
293
+ $form . find ( '.oldpass, .pass, .pass_repeat' ) . removeClass ( 'error' ) ;
294
+ $form . find ( '.errormessage' ) . css ( 'visibility' , 'hidden' ) ;
288
295
var oldpass = $this . parent ( ) . find ( '.oldpass' ) . val ( ) ;
289
296
var pass = $this . parent ( ) . find ( '.pass' ) . val ( ) ;
290
297
var pass_repeat = $this . parent ( ) . find ( '.pass_repeat' ) . val ( ) ;
291
298
292
299
if ( oldpass === "" ) {
293
300
$form . find ( '.oldpass' ) . addClass ( 'error' ) ;
301
+ $form . find ( '.errormessage' ) . text ( "your current password is required" ) . css ( 'visibility' , 'visible' ) ;
294
302
return ;
295
303
}
296
304
if ( ! isValidPassword ( pass ) ) {
297
305
$form . find ( '.pass' ) . addClass ( 'error' ) ;
306
+ $form . find ( '.errormessage' ) . text ( getPasswordProblem ( pass ) ) . css ( 'visibility' , 'visible' ) ;
298
307
return ;
299
308
}
300
309
if ( pass !== pass_repeat ) {
301
310
$form . find ( '.pass_repeat' ) . addClass ( 'error' ) ;
311
+ $form . find ( '.errormessage' ) . text ( "new password does not match" ) . css ( 'visibility' , 'visible' ) ;
302
312
return ;
303
313
}
304
314
@@ -314,7 +324,7 @@ var changePasswordClick = function() {
314
324
window . location . href = "/app/auth" ;
315
325
} else {
316
326
$form . find ( '.oldpass' ) . addClass ( 'error' ) ;
317
- $form . find ( '.instructions ' ) . text ( data . error ) ;
327
+ $form . find ( '.errormessage ' ) . text ( data . error ) . css ( 'visibility' , 'visible' ) ;
318
328
}
319
329
}
320
330
) ;
@@ -335,12 +345,24 @@ var isValidDeviceName = function( name ) {
335
345
return true ;
336
346
} ;
337
347
348
+ var getPasswordProblem = function ( pass ) {
349
+ if ( ! pass || pass === '' ) {
350
+ return "the password is empty" ;
351
+ }
352
+ if ( pass . length < 6 ) {
353
+ return "the password should contain at least 6 characters" ;
354
+ }
355
+ if ( ! pass . match ( / [ a - z ] / ) ||
356
+ ! pass . match ( / [ A - Z 0 - 9 \- \_ \. \, \; \: \' \" \[ \] \{ \} \! \@ \# \$ \% \^ \& \* \( \) \\ ] .* [ A - Z 0 - 9 \- \_ \. \, \; \: \' \" \[ \] \{ \} \! \@ \# \$ \% \^ \& \* \( \) \\ ] / ) ) {
357
+ return "your password must contain a lower case letter and at least two upper case letters or numbers" ;
358
+ }
359
+ } ;
338
360
var isValidPassword = function ( pass ) {
339
361
if ( ! pass || pass === '' ) {
340
362
return false ;
341
363
}
342
364
//at least 6 characters
343
- if ( pass . length <= 8 ) {
365
+ if ( pass . length < 6 ) {
344
366
return false ;
345
367
}
346
368
//contains lower case
0 commit comments