Lame user side email validator using JQuery.
authorAntoine Musso <hashar@users.mediawiki.org>
Thu, 28 Oct 2010 21:01:56 +0000 (21:01 +0000)
committerAntoine Musso <hashar@users.mediawiki.org>
Thu, 28 Oct 2010 21:01:56 +0000 (21:01 +0000)
See bug 22449 : MediaWiki should do validation of e-mail addresses

includes/specials/SpecialPreferences.php
resources/Resources.php
resources/mediawiki.specials/mediawiki.specials.preferences.css [new file with mode: 0644]
resources/mediawiki.specials/mediawiki.specials.preferences.js

index 72cda27..0e63ac7 100644 (file)
@@ -54,6 +54,7 @@ class SpecialPreferences extends SpecialPage {
 
                $wgOut->addModules( 'mediawiki.legacy.prefs' );
                $wgOut->addModuleScripts( 'mediawiki.specials.preferences' );
+               $wgOut->addModuleStyles( 'mediawiki.specials.preferences' );
 
                if ( $wgRequest->getCheck( 'success' ) ) {
                        $wgOut->wrapWikiMsg(
index 941441e..bc7ff5f 100644 (file)
@@ -321,6 +321,7 @@ return array(
        ) ),
        'mediawiki.specials.preferences' => new ResourceLoaderFileModule( array(
                'scripts' => 'resources/mediawiki.specials/mediawiki.specials.preferences.js',
+               'styles' => 'resources/mediawiki.specials/mediawiki.specials.preferences.css',
        ) ),
        'mediawiki.specials.search' => new ResourceLoaderFileModule( array(
                'scripts' => 'resources/mediawiki.specials/mediawiki.specials.search.js',
@@ -490,4 +491,4 @@ return array(
        'mediawiki.legacy.wikiprintable' => new ResourceLoaderFileModule( array(
                'styles' => array( 'skins/common/wikiprintable.css' => array( 'media' => 'print' ) ),
        ) ),
-);
\ No newline at end of file
+);
diff --git a/resources/mediawiki.specials/mediawiki.specials.preferences.css b/resources/mediawiki.specials/mediawiki.specials.preferences.css
new file mode 100644 (file)
index 0000000..5c39a02
--- /dev/null
@@ -0,0 +1,8 @@
+input.valid {
+       background-color: #C0FFC0;
+       color: black;
+}
+input.invalid {
+       background-color: #FFC0C0;
+       color: black;
+}
index e6760fc..36e1c21 100644 (file)
@@ -38,3 +38,22 @@ $( '#preferences' )
                                )
                );
        } );
+
+// Lame tip to let user know if its email is valid. See bug 22449
+$( '#mw-input-emailaddress' )
+       .keyup( function() {
+               var mailtxt = $(this).val();
+               if( mailtxt == '' ) {
+                       // mail is optional !
+                       $(this).removeClass( "invalid" );
+                       $(this).removeClass( "valid" );
+                       return;
+               }
+               if( mailtxt.match( /.+@.+\..+/ ) ) {
+                       $(this).addClass( "valid" );
+                       $(this).removeClass( "invalid" );
+               } else {
+                       $(this).addClass( "invalid" );
+                       $(this).removeClass( "valid" );
+               }
+       } );