diff options
| author | mo <mo.khan@gmail.com> | 2017-09-09 12:46:07 -0600 |
|---|---|---|
| committer | mo <mo.khan@gmail.com> | 2017-09-09 12:46:07 -0600 |
| commit | 70c8209344bbe125867062b74f21a12f73b6faf2 (patch) | |
| tree | 710f7cf19f71d75265eaf2c10b4d467994b42043 /app/assets/javascripts | |
| parent | c81e44144f9e7f392b5d158c3ec52062fa529532 (diff) | |
validate search form.
Diffstat (limited to 'app/assets/javascripts')
| -rw-r--r-- | app/assets/javascripts/models/search.js.coffee | 16 | ||||
| -rw-r--r-- | app/assets/javascripts/views/form_view.js.coffee | 5 | ||||
| -rw-r--r-- | app/assets/javascripts/views/search/form.js.coffee | 5 |
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' |
