     @on "keyup", cb.bind this
     @on "blur",  cb.bind this
 
+  unsetValidation:-> @setValidation {}
+
   setValidation:(ruleSet)->
+
+    log "setValidation", ruleSet
 
     @valid                 = no
     @currentRuleset        = ruleSet

    @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"

    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}'/>"

  bindValidationEvents:->
    @on "ValidationError", @bound "giveValidationFeedback"
    @on "ValidationPassed", @bound "giveValidationFeedback"
    @on "focus", @bound "clearValidationFeedback"

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

    return  unless label
