397 Stimmen

jQuery-Validierung: Standard-Fehlermeldung ändern

Gibt es eine einfache Möglichkeit, die Standardfehlerwerte in der jQuery-Validierungs-Plugin ?

Ich möchte nur die Fehlermeldungen neu zu schreiben, um mehr persönliche zu meinem app--Ich habe eine Menge von Feldern, so dass ich nicht die Nachricht individuell für Feld x... Ich weiß, ich kann das tun!

3voto

Developer Punkte 810

JQuery Form Validation Benutzerdefinierte Fehlermeldung -tutsmake

Demo

$(document).ready(function(){
  $("#registration").validate({
    // Specify validation rules
    rules: {
      firstname: "required",
      lastname: "required",
      email: {
        required: true,
        email: true
      },      
      phone: {
        required: true,
        digits: true,
        minlength: 10,
        maxlength: 10,
      },
      password: {
        required: true,
        minlength: 5,
      }
    },
    messages: {
      firstname: {
      required: "Please enter first name",
     },      
     lastname: {
      required: "Please enter last name",
     },     
     phone: {
      required: "Please enter phone number",
      digits: "Please enter valid phone number",
      minlength: "Phone number field accept only 10 digits",
      maxlength: "Phone number field accept only 10 digits",
     },     
     email: {
      required: "Please enter email address",
      email: "Please enter a valid email address.",
     },
    },

  });
});

<!DOCTYPE html>
<html>
<head>
<title>jQuery Form Validation Using validator()</title>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.0/jquery.validate.js"></script>
<style>
  .error{
    color: red;
  }
  label,
  input,
  button {
    border: 0;
    margin-bottom: 3px;
    display: block;
    width: 100%;
  }
 .common_box_body {
    padding: 15px;
    border: 12px solid #28BAA2;
    border-color: #28BAA2;
    border-radius: 15px;
    margin-top: 10px;
    background: #d4edda;
}
</style>
</head>
<body>
<div class="common_box_body test">
  <h2>Registration</h2>
  <form action="#" name="registration" id="registration">

    <label for="firstname">First Name</label>
    <input type="text" name="firstname" id="firstname" placeholder="John"><br>

    <label for="lastname">Last Name</label>
    <input type="text" name="lastname" id="lastname" placeholder="Doe"><br>

    <label for="phone">Phone</label>
    <input type="text" name="phone" id="phone" placeholder="8889988899"><br>  

    <label for="email">Email</label>
    <input type="email" name="email" id="email" placeholder="john@doe.com"><br>

    <label for="password">Password</label>
    <input type="password" name="password" id="password" placeholder=""><br>

    <input name="submit" type="submit" id="submit" class="submit" value="Submit">
  </form>
</div>

</body>
</html>

2voto

dangel Punkte 6768

Um alle Standard-Fehlermeldungen zu entfernen, verwenden Sie

$.validator.messages.required = "";

0voto

Jerry131 Punkte 1
$(function() {

$("#username_error_message").hide();
$("#password_error_message").hide();
$("#retype_password_error_message").hide();
$("#email_error_message").hide();

var error_username = false;
var error_password = false;
var error_retype_password = false;
var error_email = false;

$("#form_username").focusout(function() {

    check_username();

});

$("#form_password").focusout(function() {

    check_password();

});

$("#form_retype_password").focusout(function() {

    check_retype_password();

});

$("#form_email").focusout(function() {

    check_email();

});

function check_username() {

    var username_length = $("#form_username").val().length;

    if(username_length < 5 || username_length > 20) {
        $("#username_error_message").html("Should be between 5-20 characters");
        $("#username_error_message").show();
        error_username = true;
    } else {
        $("#username_error_message").hide();
    }

}

function check_password() {

    var password_length = $("#form_password").val().length;

    if(password_length < 8) {
        $("#password_error_message").html("At least 8 characters");
        $("#password_error_message").show();
        error_password = true;
    } else {
        $("#password_error_message").hide();
    }

}

function check_retype_password() {

    var password = $("#form_password").val();
    var retype_password = $("#form_retype_password").val();

    if(password !=  retype_password) {
        $("#retype_password_error_message").html("Passwords don't match");
        $("#retype_password_error_message").show();
        error_retype_password = true;
    } else {
        $("#retype_password_error_message").hide();
    }

}

function check_email() {

    var pattern = new RegExp(/^[+a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i);

    if(pattern.test($("#form_email").val())) {
        $("#email_error_message").hide();
    } else {
        $("#email_error_message").html("Invalid email address");
        $("#email_error_message").show();
        error_email = true;
    }

}

$("#registration_form").submit(function() {

    error_username = false;
    error_password = false;
    error_retype_password = false;
    error_email = false;

    check_username();
    check_password();
    check_retype_password();
    check_email();

    if(error_username == false && error_password == false && error_retype_password == false && error_email == false) {
        return true;
    } else {
        return false;   
    }

});

});

-1voto

user3065103 Punkte 1

Zum Hinzufügen von benutzerdefinierten oder Feldbeschriftungen oder anderen dynamischen Elementen, die mit dem zu überprüfenden Feld in Verbindung stehen. Sie können alles über dom auswählen und es überall mit Fehlermeldung hinzufügen.

Nachstehend ein Beispiel für das Hinzufügen einer Feldbezeichnung am Anfang der erforderlichen Nachricht anstelle von "dieses Feld".

jQuery.extend(jQuery.validator.messages, {

    required: function(result,e){

        let field_label = "This field ";

        if($(e).closest('.form-group').find('label').length > 0)
            field_label = $(e).closest('.form-group').find('label').html();

        return field_label+" is required.";

        },

});

-3voto

vidura Punkte 67

Anstelle dieser benutzerdefinierten Fehlermeldungen können wir den Typ des Textfeldes angeben.

Beispiel: Typ des Feldes in auf type = 'email' setzen

dann wird das Plugin das Feld erkennen und korrekt validieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X