js email validation fixed + i18n support
authorAntoine Musso <hashar@users.mediawiki.org>
Sun, 9 Jan 2011 17:09:16 +0000 (17:09 +0000)
committerAntoine Musso <hashar@users.mediawiki.org>
Sun, 9 Jan 2011 17:09:16 +0000 (17:09 +0000)
The Javascript email validation in User:Preference got broken by an id change,
this patch fix the issue.

A long standing issue was a lack of proper i18n support, message helper
was hard coded in the js file.  It now use the resourceloader to get the
i18nized message.

Follow up r75670

languages/messages/MessagesEn.php
resources/Resources.php
resources/mediawiki.special/mediawiki.special.preferences.js

index 2d2eef9..4e512ea 100644 (file)
@@ -1857,6 +1857,10 @@ You can also choose to let others contact you through your user or talk page wit
 'prefs-displaywatchlist'        => 'Display options',
 'prefs-diffs'                   => 'Diffs',
 
+# User preference: email validation using JQuery
+'email-address-validity-valid'           => 'Looks valid',
+'email-address-validity-invalid'         => 'Valid address required!',
+
 # User rights
 'userrights'                     => 'User rights management',
 'userrights-summary'             => '', # do not translate or duplicate this message to other languages
index 174044c..4496105 100644 (file)
@@ -358,6 +358,7 @@ return array(
                'dependencies' => 'mediawiki.util',
        ),
        'mediawiki.special.preferences' => array(
+               'messages' => array( 'email-address-validity-valid', 'email-address-validity-invalid' ),
                'scripts' => 'resources/mediawiki.special/mediawiki.special.preferences.js',
                'styles' => 'resources/mediawiki.special/mediawiki.special.preferences.css',
        ),
index 5df2a3c..f73e5ee 100644 (file)
@@ -40,16 +40,20 @@ $( '#preferences' )
        } );
 
 // Lame tip to let user know if its email is valid. See bug 22449
-$( '#mw-input-emailaddress' )
+$( '#mw-input-wpemailaddress' )
        .keyup( function () {
                if( $( "#mw-emailaddress-validity" ).length == 0 ) {
-                       $(this).after( '<label for="mw-input-emailaddress" id="mw-emailaddress-validity"></label>' );
+                       $(this).after( '<label for="mw-input-wpemailaddress" id="mw-emailaddress-validity"></label>' );
                }
                var isValid = wfValidateEmail( $(this).val() );
                var class_to_add    = isValid ? 'valid' : 'invalid';
                var class_to_remove = isValid ? 'invalid' : 'valid';
                $( '#mw-emailaddress-validity' )
-                       .text( isValid ? 'Looks valid' : 'Valid address required!' )
+                       .text(
+                               isValid ?
+                               mediaWiki.msg( 'email-address-validity-valid' )
+                               : mediaWiki.msg( 'email-address-validity-invalid' )
+                       )
                        .addClass( class_to_add )
                        .removeClass( class_to_remove );
        } );