Поговорили голосом.
Моя позиция: методом setError сетим данные в data модели и не выставляем валидный статус, а ещё лучше - ставим статус "ошибка". Всегда сетим ошибку в поле `.error`.
Достоинства:
 - матчимся на эту структуру данных в yate через модель `/.models.letter.error.wtf`
 - ходим по ней с помощью `model.get('.error.wtf')`
 - всё про модель лежит в модели
Недостаток:
 - если в данных валидной модели бывает поле .error, то будет конфликт имён. Чтобы этого избежать, можно подумать про неймспейсы типа `ns:error` или `ns-error`

Позиция @chestozo: данные отдельно, ошибки отдельно