summaryrefslogtreecommitdiff
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authormo <mo.khan@gmail.com>2017-09-09 12:46:07 -0600
committermo <mo.khan@gmail.com>2017-09-09 12:46:07 -0600
commit70c8209344bbe125867062b74f21a12f73b6faf2 (patch)
tree710f7cf19f71d75265eaf2c10b4d467994b42043 /app/assets/javascripts
parentc81e44144f9e7f392b5d158c3ec52062fa529532 (diff)
validate search form.
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/models/search.js.coffee16
-rw-r--r--app/assets/javascripts/views/form_view.js.coffee5
-rw-r--r--app/assets/javascripts/views/search/form.js.coffee5
3 files changed, 25 insertions, 1 deletions
diff --git a/app/assets/javascripts/models/search.js.coffee b/app/assets/javascripts/models/search.js.coffee
new file mode 100644
index 00000000..df81bd4a
--- /dev/null
+++ b/app/assets/javascripts/models/search.js.coffee
@@ -0,0 +1,16 @@
+#= require ./translation
+
+class csx.Models.Search extends Backbone.Model
+ translation: new csx.Translation('search')
+ defaults:
+ q: null
+
+ requiredFields: ['q']
+
+ validate: (attributes, options) ->
+ errors = {}
+ _.each @requiredFields, (field) =>
+ if _.isEmpty(attributes[field])
+ errors[field] = @translation.errorFor(field, 'blank')
+
+ return errors if _.keys(errors).length > 0
diff --git a/app/assets/javascripts/views/form_view.js.coffee b/app/assets/javascripts/views/form_view.js.coffee
index d58f7198..43183537 100644
--- a/app/assets/javascripts/views/form_view.js.coffee
+++ b/app/assets/javascripts/views/form_view.js.coffee
@@ -35,6 +35,9 @@ class csx.FormView extends csx.AutoView
else
element.val()
+ fieldName: (name) ->
+ return name if _.isEmpty(@modelKey)
+ "#{@modelKey}_#{name}"
+
field: (name) -> @$("##{@fieldName(name)}")
- fieldName: (name) -> "#{@modelKey}_#{name}"
fieldNameFor: (element) -> element.attr('id').replace("#{@modelKey}_", '')
diff --git a/app/assets/javascripts/views/search/form.js.coffee b/app/assets/javascripts/views/search/form.js.coffee
new file mode 100644
index 00000000..7e1b1f05
--- /dev/null
+++ b/app/assets/javascripts/views/search/form.js.coffee
@@ -0,0 +1,5 @@
+class csx.Views.SearchForm extends csx.FormView
+ @viewName 'search-form'
+ events:
+ 'input #q': 'onInput'
+ 'submit form': 'onSubmit'