       @debug  "Validate called on '#{value}', with minlength '#{opts.minlength}'",  "Return test: #{(value.length >= opts.minlength)}, with minlength: '#{opts.minlength}'"
       ((value.length >= opts.minlength) || (Lol.Utils.isEmpty(value) && element.attr('data-allow-empty')))
   ###
+
   ###
   validateMinMax: (element, max, opts)->
     value = element.val()

      @debug "Validate called on '#{value}', with min '#{opts.min}'", "Return test: #{(Number(value) >= opts.min)}"
      ((Number(value) >= opts.min) || (Lol.Utils.isEmpty(value) && element.attr('data-allow-empty')))
  ###
  ###
  validatePattern: (element, pattern)->
    re = new RegExp pattern

    (re.test(value) || (Lol.Utils.isEmpty(value) && element.attr('data-allow-empty')))

###
Adiciona um pattern de validador a biblioteca existente, pode ser enviado quantos patterns forem necessarios para adicao
@example
Lol.FormValidate.addPatterns({
  pattern_1: /^pattern_1(.)* /,
  pattern_2: /^pattern_2(.)* /
});
@param {Object}
@return {Object}
###
Lol.FormValidate.addPatterns          = (pattern)->
  for key of pattern
    Lol.form_validate.private.patterns[key] = pattern[key] if pattern.hasOwnProperty(key)
  Lol.form_validate.private.patterns
###
Adiciona a chave de traducao do nome do patterns, pode ser enviado quantos nomes forem necessarios para adicao
@example
Lol.FormValidate.addErrorMessage({
  error_1: "name_equal_file_translate_1",
  error_2: "name_equal_file_translate_2"
});
@param {Object}
@return {Object}
###
Lol.FormValidate.addErrorMessage      = (errorMessage)->
  for key of errorMessage
    Lol.form_validate.private.errorMessages[key] = errorMessage[key] if errorMessage.hasOwnProperty(key)
  Lol.form_validate.private.errorMessages
###
Adiciona uma funcao aos validadores, pode ser enviado quantas funcoes forem necessarias para adicao
@example
Lol.FormValidate.addFunctionValidator({
  validate_test_1: function(element, opts){},
  validate_test_2: function(element, opts){}
});
@param {Object}
@return {Object}
###
Lol.FormValidate.addFunctionValidator = (functions)->
  for key of functions
    Lol.form_validate.private.functions[key] = functions[key] if functions.hasOwnProperty(key)
  Lol.form_validate.private.functions
###
Testa se o elemento enviado faz parte da
classe FormValidate
@param {DOMElement}
@return {Boolean}
###
Lol.FormValidate.is_to_test           = (element)->
  $(element).data('formValidate') != true
