<commit_before>APP.components.formValidation = (function() {

  function init() {

    // ************ VALIDATE REQUIRED FIELDS ***************** //

    // Validation for Empty Fields if required
    $(".form-block :input.-required").on("blur", function() {
      var $error_msg = $( "<span class='error_msg required_msg'> *</span>" );
      var $label = $("label[for='"+this.id+"']");
      if (!$(this).val()) {
        $(this).addClass('-invalid');
        $label.addClass('-invalid');
        $label.find('span.error_msg').remove();
        $label.find('span').append($error_msg);
      } else {
        $(this).removeClass('-invalid');
        $label.removeClass('-invalid');
        $label.find('span.error_msg').remove();
      }
    });

    // Type in empty fields
    $(document).on("keydown", ':input.-required.-invalid', function(e) {
      var $label = $("label[for='"+this.id+"']");
      $(this).removeClass('-invalid');
      $label.removeClass('-invalid');
      $label.find('span.error_msg').remove();
    });


    // ************ BROWSER VALIDATION URL/MAIL ***************** //


    // Browser Validation Form Fields with class "-validate"
    $(".form-block :input.-validate").on("blur", function() {
      var $error_msg = $( "<span class='error_msg'> (Fehler)</span>" );
      var $label = $("label[for='"+this.id+"']");
      if ($(this).val() && !this.checkValidity()) {
        $(this).addClass('-invalid');
        $label.addClass('-invalid');
        $label.find('span.error_msg').remove();
        $label.find('span').append($error_msg);
      } else if ($(this).val() && this.checkValidity()) {
        $(this).removeClass('-invalid');
        $label.removeClass('-invalid');
        $label.find('span.error_msg').remove();
      }
    });

    // Type in invalid fields
    $(document).on("keyup", ':input.-validate.-invalid', function(e) {
      var $label = $("label[for='"+this.id+"']");
      if ($(this).val() && this.checkValidity()) {
        $(this).removeClass('-invalid');
        $label.removeClass('-invalid');
        $label.find('span.error_msg').remove();
      }
    });


  }

  return {
    init: init
  };

})();
<commit_msg>refactored validation<commit_after>APP.components.formValidation = (function() {

  function init() {

    // ************ VALIDATE REQUIRED FIELDS ***************** //

    // Validation for Empty Fields if required
    $(".form-block :input.-required").on("blur", function() {
      var $error_msg = $( "<span class='error_msg required_msg'> *</span>" );
      var $label = $("label[for='"+this.id+"']");
      if ($(this).val()) {
        $(this).removeClass('-invalid');
        $label.removeClass('-invalid');
        $label.find('span.error_msg').remove();
      } else {
        $(this).addClass('-invalid');
        $label.addClass('-invalid');
        $label.find('span.error_msg').remove();
        $label.find('span').append($error_msg);
      }
    });

    // Type in empty fields
    $(document).on("keydown", ':input.-required.-invalid', function(e) {
      var $label = $("label[for='"+this.id+"']");
      $(this).removeClass('-invalid');
      $label.removeClass('-invalid');
      $label.find('span.error_msg').remove();
    });


    // ************ BROWSER VALIDATION URL/MAIL ***************** //


    // Browser Validation Form Fields with class "-validate"
    $(".form-block :input.-validate").on("blur", function() {
      var $error_msg = $( "<span class='error_msg'> (Fehler)</span>" );
      var $label = $("label[for='"+this.id+"']");
      if (this.checkValidity()) {
        $(this).removeClass('-invalid');
        $label.removeClass('-invalid');
        $label.find('span.error_msg').remove();
      } else {
        $(this).addClass('-invalid');
        $label.addClass('-invalid');
        $label.find('span.error_msg').remove();
        $label.find('span').append($error_msg);
      }
    });

    // Type in invalid fields
    $(document).on("keyup", ':input.-validate.-invalid', function(e) {
      var $label = $("label[for='"+this.id+"']");
      if (this.checkValidity()) {
        $(this).removeClass('-invalid');
        $label.removeClass('-invalid');
        $label.find('span.error_msg').remove();
      }
    });


  }

  return {
    init: init
  };

})();

{'fraction_non_alphanumeric': 0.24900816802800466, 'fraction_numerical': 0.0, 'mean_word_length': 2.792920353982301, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4549522', 'n_tokens_mistral': 1333, 'n_tokens_neox': 1300, 'n_words': 200}