 
         if !result # when `validate` return false
           @errors[key][validator_key] = klass.error_message()
+          @_is_valid_attr[key] = false
         else #when true, then need set null for error
           @errors[key][validator_key] = ""
+          @_is_valid_attr[key] = true
 
     )
 
-    for key, value of @errors
-      for k, v of value when v != ""
-        @_is_valid = true
+
+    return
 
   # @param [String] - attr name, if attr not given then return `errors` object,
   # otherwise return array with errors for give field

  # @note Method generate add_x, where `x` it's a attribute from `@has_many` or `@has_one`
  constructor: (obj = {}) ->
    @logger = Sirius.Application.get_logger()
    @_is_valid = false
    @callbacks = []
    # object, which contain all errors, which registers after validation
    @errors = {}
    @attributes = @normalize_attrs()
    name = Sirius.Utils.fn_name(@constructor)
    @errors = {}

    for attr in @attrs()
      # @attrs: [{key: value}]

  # Check, if model instance valid
  # @return [Boolean] true, when is valid, otherwise false
  is_valid: () ->
    Object.keys(@_is_valid_attr).filter((key) => !@_is_valid_attr[key]).length == 0

  # Call when you want validate model
  # @nodoc
