import Ember from 'ember';

export default Ember.Controller.extend({
  needs: ['application'],
  selectedPerson: Ember.computed.alias('controllers.application.attrs.person'),
  errorMessage: null,
  titleIsValid: function() {
    var title = this.get('model.title');

    return (!Ember.isEmpty(title) && title.length > 2);
  }.property('model.title'),
  emailIsValid: function() {
    var email = this.get('model.user.email'),
        re = new RegExp(/\S+@\S+\.\S+/);

    return (!Ember.isEmpty(email) && re.test(email));
  }.property('model.user.email'),
  isValid: function() {
    return (this.get('titleIsValid') && this.get('emailIsValid'));
  }.property('titleIsValid', 'emailIsValid')
});

@@ -197,32 +197,62 @@
 %0A  titleIsValid:
+ Ember.computed('model.title',
  function() %7B%0A  
@@ -241,32 +241,32 @@
 ', function() %7B%0A
-
     var title = 
@@ -354,49 +354,61 @@
 %0A  %7D
-.property('model.title'),%0A  emailIsValid:
+),%0A  emailIsValid: Ember.computed('model.user.email',
  fun
@@ -566,49 +566,68 @@
 %0A  %7D
-.property('model.user.email'),%0A  i
+),%0A  isValid: Ember.computed('titleIsValid', 'emailI
 sValid
-:
+',
  fun
@@ -707,51 +707,11 @@
 ));%0A
+
   %7D
-.property('titleIsValid', 'emailIsValid'
 )%0A%7D)

Switch computed property syntax via ember-watson