Commit 582b2c2

mo khan <mo@mokhan.ca>
2014-11-10 05:27:56
add a tiny bit of validation before creating a new video.
1 parent 43b0fc3
Changed files (4)
app
assets
javascripts
app/assets/javascripts/controllers/videos_new.js.coffee
@@ -1,6 +1,10 @@
 App.VideosNewController = Ember.Controller.extend
   actions:
     createVideo: ->
-      video = @store.createRecord('video', @get('fields'))
-      video.save().then =>
-        @transitionTo('video', video)
+      fields = @get('fields')
+      if App.Video.valid(fields)
+        video = @store.createRecord('video', @get('fields'))
+        video.save().then =>
+          @transitionTo('video', video)
+      else
+        @set('showError', true)
app/assets/javascripts/models/video.js.coffee
@@ -2,3 +2,7 @@ App.Video = DS.Model.extend
   title: DS.attr('string')
   description: DS.attr('string')
   uri: DS.attr('string')
+
+App.Video.reopenClass
+  valid: (fields) ->
+    fields.title and fields.uri
app/assets/javascripts/routes/videos_new.js.coffee
@@ -1,3 +1,4 @@
 App.VideosNewRoute = Ember.Route.extend
   setupController: (controller) ->
     controller.set('fields', {})
+    controller.set('showError', false)
app/assets/javascripts/templates/videos/new.hbs
@@ -1,5 +1,7 @@
 <h1>New Video</h1>
-
+{{#if showError}}
+<p>Videos must have at title and uri.</p>
+{{/if}}
 <form>
 <fieldset>
   <dl>