     # Process attributeModifiers
     if not _.isUndefined(@attributes[attr]) and @attributeModifiers[attr] and @attributeModifiers[attr].getConverter
       if @attributeModifiers[attr].getConverter == 'DateTime'
+        return '' if _.isNull(@attributes[attr])
         if @attributeModifiers[attr].options and @attributeModifiers[attr].options.format
           return @attributes[attr].toString(@attributeModifiers[attr].options.format)
         else
           return @attributes[attr].toString(@_store.getBuiltinModifierFormat('DateTime'))
       else if @attributeModifiers[attr].getConverter == 'Date'
+        return '' if _.isNull(@attributes[attr])
         if @attributeModifiers[attr].options and @attributeModifiers[attr].options.format
           return @attributes[attr].toString(@attributeModifiers[attr].options.format)
         else

          console.log(e)
          @trigger('comm:fatal', e)
          @trigger('commit:failed', {errors: "Communication error!"})
          throw e
      error: =>
        # TODO: i18n

      error - Called upon error

    Triggers:
      commit:before - before starting saving process
      commit:start - just after starting server request
      commit:done - after successful server request response
      commit:failed - if something wrong happened
      commit:finished - after commit process (success or error)
  ###
  commit: (options) ->
    @trigger('commit:before', @)
    options = options || {}
    commitData = {}
    _.each @_changedModels, (models, modelType) =>
