Then I'm guessing the click handler(s) would be placed on the ExporterDialog itself? Will the bindings work if the HTML elements aren't present at render time? For example, something like:

```javascript
var ExporterDialog = Marionette.Layout.extend({
    ...
    
    events: {
        'click data-action=change-columns': 'changeColumns'
    }

    validate: function() {
            var errors = [];

            // Get export options that were selected
            var options = this.getSelectedOptions();

            if (this.pageRangeSelected() && !this.isPageRangeValid()) {
                errors.push('<p>The page range entered is invalid. it must be a ' +
                            'single page, e.g. 1, or a range of pages, e.g. 2...5.</p>');
            }
            if (options.length === 0) {
                errors.push('<p>An export type must be selected.</p>');
            }
            if (c.data.views.session.facets.length === 0){
                errors.push('<p>One or more columns must be selected. Click <a data-ation=change-columns>here</a> to select columns.</p>');
            }
            return errors;
        },
    ...
```

When there are errors, they don't get added to the DOM until we try to export the data so I am concerned that the event handlers for error HTML elements would not be correctly bound. That is why I suggested views above but if the bindings will or work I am incorrect in the proposed approach let me know. I very well might be missing something.