master
1class csx.Views.ErrorView extends Backbone.View
2 initialize: (options) ->
3 @attributesWithErrors = options.attributesWithErrors
4 _.bindAll(@, "clearOldErrors", "renderErrors", "renderError", "fieldFor")
5
6 render: () ->
7 @clearOldErrors()
8 @renderErrors()
9
10 clearOldErrors: () ->
11 @$(".error").removeClass("error")
12 @$("p.inline-errors").remove()
13
14 renderErrors: () ->
15 _.each(@attributesWithErrors.errors, @renderError)
16
17 renderError: (errors, attribute) ->
18 errorString = errors.join(", ")
19 field = @fieldFor(attribute)
20 errorTag = $('<p>').addClass('inline-errors').text(errorString)
21 field.append(errorTag)
22 field.addClass("error")
23
24 fieldFor: (attribute) ->
25 @$("#cake_#{attribute}").parent()