     # проверяет соответствие аттрибутов модели определенному набору фильтров, возвращает 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 ) ->

      '' + attribute is filter
    else if typeof filter is 'number'
      + attribute is filter
    else if filter instanceof Array
      '' + attribute in filter or + attribute in filter
    else false

    # связанных с текущей через модель 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 ]
