var EditProfileModal = ModalFormView.extend({ el: ".mediaDrawer.editProfile", action: "/api/profile", method: "put", load: function(){ this.reset() $.get("/api/profile", $.proxy(function(data){ console.log(data) for (var i in data) { this.$("[name='" + i + "']").val(data[i]) } this.$("#profile_username").html(data.username) if (data.photo && data.photo.length) { this.$("#load_avatar").attr("src", data.photo) } else { this.$("#load_avatar").hide() } this.show() }, this)) }, validate: function(){ var errors = [] var email = this.$("#profile_email").val() var pw0 = this.$("#profile_old_password").val() var pw1 = this.$("#profile_new_password").val() var pw2 = this.$("#profile_new_password2").val() if (pw1.length) { if (! pw0.length) { errors.push("Please enter your old password.") } if (pw1 !== pw2) { errors.push("New passwords don't match"); } } if (email.length && email.indexOf("@") === -1) { errors.push("Please enter a valid email address"); } return errors }, success: function(){ window.location.href = "/profile" } })