     @enableTabKey() if options.enableTabKey
     @setCase options.forceCase if options.forceCase
 
-    if options.validate?
-      @setValidation options.validate
-      @on "ValidationError", @bound "giveValidationFeedback"
-      @on "ValidationPassed", @bound "giveValidationFeedback"
-      @on "focus", @bound "clearValidationFeedback"
+    @setValidation options.validate  if options.validate
+    @bindValidationEvents()
 
     if options.type is "select" and options.selectOptions
       @on "viewAppended", =>

      when "range"    then $ "<input #{name} type='range' class='kdinput range #{cssClass}'/>"
      else                 $ "<input #{name} type='#{@getType()}' class='kdinput #{@getType()} #{cssClass}'/>"

  setLabel:(label = @getOptions().label)->

    return  unless label

    @on "keyup", cb.bind this
    @on "blur",  cb.bind this

  unsetValidation:-> @setValidation {}

  setValidation:(ruleSet)->

    log "setValidation", ruleSet

    @valid                 = no
    @currentRuleset        = ruleSet
