aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--templates/web/default/header.html3
-rw-r--r--templates/web/default/js_validation_msgs.html15
-rw-r--r--templates/web/default/report/new/fill_in_details_form.html2
-rw-r--r--web/js/fixmystreet.js14
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');
} );