 
     onChange: (event) ->
       @updateValue(event.target, false)
-      @runValidation()
+
+      if @validationRequired()
+        @runValidation()
 
     runValidation: ->
       unless @state.valid

        else
          $el.setSelectionRange(position, position)
      else
        @setState(value: $el.value)

    buildExtractRegexp: (pattern) ->
      matches = @getMatches(@templateRegexp, pattern)

      (@state.value or '').search(new RegExp(@props.params.regex)) >= 0

    validationRequired: ->
      !!@props.params.regex or !!@props.params.pattern

    buildVisualAndHiddenValues: (extractValueRegexp, valueParts, pattern, nextVal) ->
      value = @substitute(valueParts, @getSubstitutions(extractValueRegexp, nextVal))
