2 * JavaScript for change credentials form.
4 ( function ( mw
, $, OO
) {
5 mw
.hook( 'htmlform.enhance' ).add( function ( $root
) {
6 var api
= new mw
.Api();
8 $root
.find( '.mw-changecredentials-validate-password.oo-ui-fieldLayout' ).each( function () {
10 self
= OO
.ui
.FieldLayout
.static.infuse( $( this ) );
12 self
.getField().setValidation( function ( password
) {
15 if ( currentApiPromise
) {
16 currentApiPromise
.abort();
17 currentApiPromise
= undefined;
20 password
= $.trim( password
);
22 if ( password
=== '' ) {
28 currentApiPromise
= api
.post( {
29 action
: 'validatepassword',
34 uselang
: mw
.config
.get( 'wgUserLanguage' )
35 } ).done( function ( resp
) {
36 var pwinfo
= resp
.validatepassword
,
37 good
= pwinfo
.validity
=== 'Good',
40 currentApiPromise
= undefined;
43 pwinfo
.validitymessages
.map( function ( m
) {
44 errors
.push( new OO
.ui
.HtmlSnippet( m
.html
) );
47 self
.setErrors( errors
);
51 return d
.promise( { abort
: currentApiPromise
.abort
} );
55 }( mediaWiki
, jQuery
, OO
) );