From 067fc98b20343d68c11c4e4d1ef5c621968eba62 Mon Sep 17 00:00:00 2001 From: Antoine Musso Date: Thu, 28 Oct 2010 21:01:56 +0000 Subject: [PATCH] Lame user side email validator using JQuery. See bug 22449 : MediaWiki should do validation of e-mail addresses --- includes/specials/SpecialPreferences.php | 1 + resources/Resources.php | 3 ++- .../mediawiki.specials.preferences.css | 8 ++++++++ .../mediawiki.specials.preferences.js | 19 +++++++++++++++++++ 4 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 resources/mediawiki.specials/mediawiki.specials.preferences.css diff --git a/includes/specials/SpecialPreferences.php b/includes/specials/SpecialPreferences.php index 72cda27be1..0e63ac7385 100644 --- a/includes/specials/SpecialPreferences.php +++ b/includes/specials/SpecialPreferences.php @@ -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( diff --git a/resources/Resources.php b/resources/Resources.php index 941441e995..bc7ff5fe61 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -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 index 0000000000..5c39a0275b --- /dev/null +++ b/resources/mediawiki.specials/mediawiki.specials.preferences.css @@ -0,0 +1,8 @@ +input.valid { + background-color: #C0FFC0; + color: black; +} +input.invalid { + background-color: #FFC0C0; + color: black; +} diff --git a/resources/mediawiki.specials/mediawiki.specials.preferences.js b/resources/mediawiki.specials/mediawiki.specials.preferences.js index e6760fc862..36e1c218dd 100644 --- a/resources/mediawiki.specials/mediawiki.specials.preferences.js +++ b/resources/mediawiki.specials/mediawiki.specials.preferences.js @@ -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" ); + } + } ); -- 2.20.1