     # проверяет соответствие аттрибутов модели определенному набору фильтров, возвращает true либо false
     return filters.call @ if typeof filters is 'function'
     return false unless Object.keys( filters ).length
-    return false for name, filter of filters when not @isCorrectAttribute @attributes[ name ], filter
+    for name, filter of filters
+      result = if name is 'correct' and typeof filter is 'function'
+        filter.call @
+      else @isCorrectAttribute @[ name ], filter
+      return false unless result
     return true
 
   isCorrectAttribute: ( attribute, filter ) ->

  updateAttribute: ( name, value ) ->
    # обновляет один атрибут модели, проверяя его валидность, генерирует событие update.attributeName
    value = @normalizeValue value
    if @attributes[ name ] isnt value and @isValidAttributeValue( name, value )
      @attributes[ name ] = value
      @[ 'onUpdate' + name.capitalize() ]?()
      @trigger "update.#{ name }"
      true

    # связанных с текущей через модель through
    @getter name, =>
      delete @[ name ]
      @[ name ] = model.where correct: ->
        return true for model in @[ through ] when model[ key ] is @
        false
      @[ name ].subscribeTo @[ through ], 'update.length.add',    ( collection, model ) -> @add    model[ key ]
