Created
January 3, 2012 18:09
-
-
Save sorentwo/1556123 to your computer and use it in GitHub Desktop.
Simple form error display
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Backbone ||= {} | |
# This takes the place of the standard form / simple_form helpers in | |
# automatically displaying form errors when the errors have been sent back as | |
# json. | |
Backbone.form_errors = (selector, errors) -> | |
$form = $(selector) | |
clear_field = ($wrapper) -> | |
$wrapper.removeClass('field_with_errors') | |
$wrapper.find('span.error').remove() | |
mark_field = ($wrapper, message) -> | |
$wrapper.addClass('field_with_errors') | |
$wrapper.append("<span class='error'>#{message}</span>") | |
# Reset all errors | |
clear_field($(field)) for field in $form.find('fieldset, div') | |
# Mark any errors with names matching error keys | |
for name, messages of errors | |
$field = $("[name*='[#{name}]']", $form) | |
$wrapper = $field.parent() | |
message = messages[0] | |
mark_field($wrapper, message) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment