diff options
-rw-r--r-- | templates/web/default/header.html | 3 | ||||
-rw-r--r-- | templates/web/default/js_validation_msgs.html | 15 | ||||
-rw-r--r-- | templates/web/default/report/new/fill_in_details_form.html | 2 | ||||
-rw-r--r-- | web/js/fixmystreet.js | 14 |
4 files changed, 29 insertions, 5 deletions
diff --git a/templates/web/default/header.html b/templates/web/default/header.html index b2bfd27d7..8778f41b1 100644 --- a/templates/web/default/header.html +++ b/templates/web/default/header.html @@ -8,6 +8,8 @@ <link rel="stylesheet" type="text/css" href="/css/ie6.css"> <![endif]--> + [% INCLUDE 'js_validation_msgs.html' %] + [% INCLUDE 'common_header_tags.html' %] [% IF c.req.uri.host == 'osm.fixmystreet.com' %] @@ -15,6 +17,7 @@ [% END %] [% INCLUDE 'tracking_code.html' %] + </head> <body> diff --git a/templates/web/default/js_validation_msgs.html b/templates/web/default/js_validation_msgs.html new file mode 100644 index 000000000..140f22964 --- /dev/null +++ b/templates/web/default/js_validation_msgs.html @@ -0,0 +1,15 @@ +<script type="text/javascript"> + validation_strings = { + title: '[% loc('Please enter a subject') %]', + detail: '[% loc('Please enter some details') %]', + name: { + required: '[% loc('Please enter your name') %]', + validName: '[% loc('Please enter your full name, councils need this information - if you do not wish your name to be shown on the site, untick the box') %]', + }, + category: '[% loc('Please choose a category') %]', + email: { + required: '[% loc('Please enter your email') %]', + email: '[% loc('Please enter a valid email') %]', + } + }; +</script> diff --git a/templates/web/default/report/new/fill_in_details_form.html b/templates/web/default/report/new/fill_in_details_form.html index eeba69714..58b379f54 100644 --- a/templates/web/default/report/new/fill_in_details_form.html +++ b/templates/web/default/report/new/fill_in_details_form.html @@ -192,7 +192,7 @@ <div class="form-field"> <label for="form_name">[% loc('Your name:') %]</label> - <input type="text" value="[% report.name | html %]" name="name" id="form_name" size="25"> + <input type="text" class="validName" value="[% report.name | html %]" name="name" id="form_name" size="25"> </div> <div class="checkbox"> diff --git a/web/js/fixmystreet.js b/web/js/fixmystreet.js index 18bf83341..cf9fcda65 100644 --- a/web/js/fixmystreet.js +++ b/web/js/fixmystreet.js @@ -37,6 +37,7 @@ $(function(){ // add in handling for html5 form types... // should be removed if/when jQuery supports these by default + // NB: required alteration of validation plugin code also jQuery.event.add(this, "keypress.specialSubmit", function( e ) { var elem = e.target, type = elem.type; @@ -51,10 +52,17 @@ $(function(){ return "email" === elem.type; }; + // FIXME - needs to use translated string jQuery.validator.addMethod('validCategory', function(value, element) { - return this.optional(element) || value != '-- Pick a category --'; }, "Please choose a category" ); + return this.optional(element) || value != '-- Pick a category --'; }, validation_strings['category'] ); + + // TODO - test in older browsers + jQuery.validator.addMethod('validName', function(value, element) { + var validNamePat = /\ba\s*n+on+((y|o)mo?u?s)?(ly)?\b/i; + return this.optional(element) || value.length > 5 && value.match( /\S/ ) && !value.match( validNamePat ) }, validation_strings['category'] ); $("#mapForm").validate({ + messages: validation_strings, onkeyup: false, errorElement: 'div', errorClass: 'form-error', @@ -73,19 +81,17 @@ $(function(){ /* set correct required status depending on what we submit */ $('#submit_sign_in').click( function(e) { $('#form_category').addClass('required validCategory').removeClass('valid'); - $('#password_sign_in').addClass('required'); $('#form_name').removeClass('required'); + alert( 'submit sign in'); } ); $('#submit_register').click( function(e) { $('#form_category').addClass('required validCategory').removeClass('valid'); - $('#password_sign_in').removeClass('required'); $('#form_name').addClass('required'); } ); $('#problem_submit > input[type="submit"]').click( function(e) { $('#form_category').addClass('required validCategory').removeClass('valid'); - $('#password_sign_in').removeClass('required'); $('#form_name').addClass('required'); } ); |