     @setEventElements()
     @setClassConfiguration()
   ###
+  Recupera todos os validadores do elemento enviado e faz a verificacao
+  @param {DOMObject} element
+  @return {Boolean}
   ###
   elementValidate: (element)->
     @debug "Verify validators this element: ", element
     @validate element, @getOptsOfElement(element)
   ###
+  Valida todos os elementos do formulario
+  @return {Boolean}
   ###
   formValidate: ->
+    @debug "Iniciando a verificacao de todos os elementos do formulario: ", @form
     _this = @
     _return = true
     @elements.each ->
       return if not _return
       element = $ @
-      opts = _this.getOptsOfElement element
-      if not _this.validate element, opts
+      if not _this.elementValidate element
         _return = false
         element.focus() if _this.settings.focusFirstInvalidElementOnSubmit
     _return
   ###
+
   ###
   getOptsOfElement: (element)->
     opts = new Object

      @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')))
  ###
  Valida o elemento atraves da pattern enviada
  usando o RegExp como validador
  @param {DOMElement} element
  @param {RegExp} pattern
  @return {Boolean}
  ###
  validatePattern: (element, pattern)->
    re = new RegExp pattern
