diff --git a/project/build.scala b/project/build.scala index d9bc7b0..3422d6f 100644 --- a/project/build.scala +++ b/project/build.scala @@ -32,7 +32,7 @@ "org.scalatra" %% "scalatra-specs2" % ScalatraVersion % "test", "org.scalatra" %% "scalatra-json" % ScalatraVersion, "org.json4s" %% "json4s-jackson" % "3.2.5", - "jp.sf.amateras" %% "scalatra-forms" % "0.0.4", + "jp.sf.amateras" %% "scalatra-forms" % "0.0.6", "commons-io" % "commons-io" % "2.4", "org.pegdown" % "pegdown" % "1.4.1", "org.apache.commons" % "commons-compress" % "1.5", diff --git a/src/main/scala/ScalatraBootstrap.scala b/src/main/scala/ScalatraBootstrap.scala index 874bbbd..2b72722 100644 --- a/src/main/scala/ScalatraBootstrap.scala +++ b/src/main/scala/ScalatraBootstrap.scala @@ -1,4 +1,5 @@ import app._ +import jp.sf.amateras.scalatra.forms.ValidationJavaScriptProvider import org.scalatra._ import javax.servlet._ @@ -20,6 +21,7 @@ context.mount(new IssuesController, "/*") context.mount(new PullRequestsController, "/*") context.mount(new RepositorySettingsController, "/*") + context.mount(new ValidationJavaScriptProvider, "/assets/common/js/*") val dir = new java.io.File(_root_.util.Directory.GitBucketHome) if(!dir.exists){ diff --git a/src/main/webapp/assets/common/js/validation.js b/src/main/webapp/assets/common/js/validation.js deleted file mode 100644 index 2840677..0000000 --- a/src/main/webapp/assets/common/js/validation.js +++ /dev/null @@ -1,39 +0,0 @@ -$(function(){ - $.each($('form[validate=true]'), function(i, form){ - $(form).submit(validate); - }); - $.each($('input[formaction]'), function(i, input){ - $(input).click(function(){ - var form = $(input).parents('form') - $(form).attr('action', $(input).attr('formaction')) - }); - }); -}); - -function validate(e){ - var form = $(e.target); - - if(form.data('validated') == true){ - return true; - } - - $.post(form.attr('action') + '/validate', $(e.target).serialize(), function(data){ - // clear all error messages - $('.error').text(''); - - if($.isEmptyObject(data)){ - form.data('validated', true); - form.submit(); - } else { - form.data('validated', false); - displayErrors(data); - } - }, 'json'); - return false; -} - -function displayErrors(data){ - $.each(data, function(key, value){ - $('#error-' + key.split('.').join('_')).text(value); - }); -} \ No newline at end of file