Heim > Web-Frontend > js-Tutorial > Hauptteil

Die Überprüfung des jquery-Formulars besteht. Das Klassenüberprüfungsformular ist nicht leer_jquery

WBOY
Freigeben: 2016-05-16 15:34:08
Original
1271 Leute haben es durchsucht

Bei der Entwicklung eines Systems sind häufig bestimmte Formulardaten erforderlich. Wenn jQuery zur Überprüfung durch ID verwendet wird, beeinträchtigt dies nicht nur die Effizienz, sondern führt auch zu Auslassungen, was die spätere Wartung erschwert.

In diesem Kapitel wird erläutert, wie Sie mit jQuery eine einheitliche Überprüfung durchführen, indem Sie Klassen für Formulare konfigurieren. (ID kann nur einmal auf einer Seite verwendet werden; Klasse kann mehrfach referenziert werden)

1: Fügen Sie der Eingabe eine Klasse hinzu. Der Name kann nach Belieben festgelegt werden, aber jede Eingabe muss konsistent sein. In diesem Kapitel wird calss auf noNull gesetzt. (Wenn die Eingabe bereits ein Klassenattribut hat, kann es direkt danach hinzugefügt werden)

2: Fügen Sie der Eingabe ein Attribut hinzu, um das Feld später über jquery abzurufen und es als Eingabeaufforderung zu verwenden. Das Case-Prompt-Attribut in diesem Kapitel ist notNull.

3: Verwenden Sie jQuery, um alle Formulare mit calss noNull auf der Seite zu durchlaufen und zu überprüfen, ob es leer ist. Rufen Sie das Feld notNull ab und geben Sie eine leere Eingabeaufforderung ein.

Weitere Informationen zur Einrichtung finden Sie im folgenden Fall. In diesem Kapitel werden Eingabe-, Radio-, Auswahl-, Kontrollkästchen- und andere Typen erläutert.

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
</head>
<body>
  <form>
      <!-- input -->
      <div>
        姓名: <input type="text" name="name" notNull="姓名" class="form-control noNull"> 
      </div>
      <br>
      <!-- radio -->
      <div>
       性别:
       男<input type="radio" name="sex" value="0" class="noNull" notNull="性别">
       女<input type="radio" name="sex" value="1" >
      </div>
      <br>
      <!-- select -->
      <div>
        年龄:
        <select name="age" class="noNull" notNull="年龄">
          <option value ="">请选择</option>
          <option value ="1">1</option>
          <option value ="2">2</option>
        </select>
      </div>
      <br>
      <!-- checkbox -->
      <div>
        兴趣:
        打球<input type="checkbox" name="hobby" value="1" class="noNull" notNull="兴趣">
        唱歌<input type="checkbox" name="hobby" value="2">
        跳舞<input type="checkbox" name="hobby" value="3">
      </div>
      <br>
     <button type="button" class="btn-c" onclick="bubmi()">保存</button>
  </form>
<script src="jquery-1.9.1.min.js"></script>
<script type="text/javascript">
function bubmi(){
  $(".noNull").each(function(){
    var name = $(this).attr("name");
    if($(this).val()==""){
    alert($(this).attr('notNull')+"不能为空");return false;
    }
    if($(this).attr("type")=="radio"){ 
      if ($("input[name='"+name+"']:checked").size() < 1){ 
        alert($(this).attr('notNull')+"不能为空!"); 
        return false; 
      } 
    }
    if($(this).attr("type")=="checkbox"){ 
      if ($('input[name="'+name+'"]:checked').size() < 1){ 
        alert($(this).attr('notNull')+"不能为空!"); 
        return false; 
      } 
    }    
  })  
}
</script>
</body>
</html>
Nach dem Login kopieren

Im Folgenden wird Ihnen das Verifizierungs-Plug-in jquery.validate.js vorgestellt

jquery.validate.js ist ein Verifizierungs-Plug-in unter jquery. Mit den Vorteilen von jquery können wir einige gängige Eingaben schnell überprüfen und unsere eigenen Verifizierungsmethoden erweitern.

Zum Beispiel gibt es so ein Formular:

<form id="signupForm" method="get" action="">
<fieldset>
<legend>Validating a complete form</legend>
<p>
<label for="firstname">Firstname</label>
<input id="firstname" name="firstname" class="required"/>
</p>
<p>
<label for="lastname">Lastname</label>
<input id="lastname" name="lastname" />
</p>
<p>
<label for="username">Username</label>
<input id="username" name="username" />
</p>
<p>
<label for="password">Password</label>
<input id="password" name="password" type="password" />
</p>
<p>
<label for="confirm_password">Confirm password</label>
<input id="confirm_password" name="confirm_password" type="password" />
</p>
<p>
<label for="email">Email</label>
<input id="email" name="email" />
</p>
<p>
<input class="submit" type="submit" value="Submit"/>
</p>
</fieldset>
</form>
Nach dem Login kopieren

In diesem Formular gibt es Vorname, Nachname, Benutzername, Passwort, Passwort bestätigen und E-Mail. Sie dürfen alle nicht leer sein und die E-Mail muss eine korrekt formatierte Adresse, das Bestätigungskennwort und das Kennwort konsistent sein. Der einfachste Weg, die jQuery-Validierung zu verwenden, besteht darin, zwei js-Dateien einzuführen, jquery.js und jquery validation.js. Fügen Sie dann jeweils eine Klasse zur Eingabe hinzu:

<input id="firstname" name="firstname" class="required"/>
<input id="lastname" name="lastname" class="required"/>
<input id="username" name="username" class="required"/>
<input id="password" name="password" type="password" class="required"/>
<input id="confirm_password" name="confirm_password" type="password" class="required" equalTo="#password"/>
<input id="email" name="email" class="required email"/>
Nach dem Login kopieren

Im Folgenden sind die Standardüberprüfungen aufgeführt, die mit „Validate“ geliefert werden

erforderlich: „Pflichtfeld“,
remote: „Bitte korrigieren Sie dieses Feld“,
E-Mail: „Bitte geben Sie das korrekte Format Ihrer E-Mail ein“,
URL: „Bitte geben Sie eine legale URL ein“,
Datum: „Bitte geben Sie ein gültiges Datum ein“,
dateISO: „Bitte geben Sie ein gültiges Datum (ISO) ein“,
Nummer: „Bitte geben Sie eine gültige Nummer ein“,
Ziffern: „Es können nur Ganzzahlen eingegeben werden“,
Kreditkarte: „Bitte geben Sie eine gültige Kreditkartennummer ein“,
equalTo: „Bitte geben Sie den gleichen Wert noch einmal ein“,
akzeptieren: „Bitte geben Sie eine Zeichenfolge mit einem zulässigen Suffix ein“,
maxlength: jQuery.format("Bitte geben Sie eine Zeichenfolge mit einer Länge von höchstens {0} ein"),
minlength: jQuery.format("Bitte geben Sie eine Zeichenfolge mit einer Länge von mindestens {0} ein"),
rangelength: jQuery.format("Bitte geben Sie eine Zeichenfolge mit einer Länge zwischen {0} und {1} ein"),
Bereich: jQuery.format("Bitte geben Sie einen Wert zwischen {0} und {1} ein"),
max: jQuery.format("Bitte geben Sie einen Wert bis zu {0} ein"),
min: jQuery.format("Bitte geben Sie einen Mindestwert von {0} ein")

Fügen Sie dann im Leseereignis des Dokuments die folgende Methode hinzu:

   <script>
    $(document).ready(function(){
        $("#signupForm").validate();
    }
   </script>
Nach dem Login kopieren

Auf diese Weise wird das Formular beim Absenden anhand der durch die Eingabe angegebenen Klasse überprüft. Schlägt dies fehl, wird die Übermittlung des Formulars blockiert. Und die Eingabeaufforderungsinformationen werden hinter der Eingabe angezeigt.

Das fühlt sich jedoch schlecht an, weil die Validierungsregeln in unseren HTML-Code eindringen. Eine andere Möglichkeit besteht darin, „Regeln“ zu verwenden. Wir löschen die Verifizierungsklassen für die Eingabe. Ändern Sie dann den Antwortcode für das Dokument „Ready“:

$(document).ready(function(){
$("#signupForm").validate({
rules:{
firstname:"required",
lastname:"required",
username:"required",
password:"required",
confirm_password:{
required:true,
equalTo:"#password"
},
email:{
required:true,
email:true
}
}
});
})
Nach dem Login kopieren

Auf diese Weise kann der gleiche Effekt erzielt werden.

Dann ist die nächste Frage, ob die angezeigte Fehlermeldung die Standardeinstellung ist. Wir müssen eine benutzerdefinierte Eingabeaufforderung verwenden:

$(document).ready(function(){
$("#signupForm").validate({
rules:{
firstname:"required",
lastname:"required",
username:"required",
password:"required",
confirm_password:{
required:true,
equalTo:"#password"
},
email:{
required:true,
email:true
}
},
messages:{
firstname:"必填项",
lastname:"必填项",
username:"必填项",
password:"必填项",
confirm_password:{
required:"必填项",
equalTo:"密码不一致"
},
email:{
required:"必填项",
email:"格式有误"
}
}
});
})
Nach dem Login kopieren

Wenn Sie in der Fehlermeldung auch einen speziellen Stil anzeigen möchten (z. B. die Schriftart ist rot), können Sie Folgendes hinzufügen:

<style type="text/css">
#signupForm label.error {
padding-left: 16px;
margin-left: 2px;
color:red;
background: url(img/unchecked.gif) no-repeat 0px 0px;
}
</style>
Nach dem Login kopieren

Weitere Validierungsregeln für die eingegebene Passwortlänge hinzufügen:

$(document).ready(function(){
$("#signupForm").validate({
rules:{
firstname:"required",
lastname:"required",
username:"required",
password:{
required:true,
minlength:4,
maxlength:15
},
confirm_password:{
required:true,
equalTo:"#password"
},
email:{
required:true,
email:true
}
},
messages:{
firstname:"必填项",
lastname:"必填项",
username:"必填项",
password:{
required:"必填项",
minlength:jQuery.format("密码长度不少于{0}位"),
maxlength:jQuery.format("密码长度不超过{0}位")
},
confirm_password:{
required:"必填项",
equalTo:"密码不一致"
},
email:{
required:"必填项",
email:"格式有误"
}
}
});
})
Nach dem Login kopieren

Fernbedienung verwenden

Sie können die auslösende Effektmethode durch ein Ereignis angeben (zu den optionalen Werten gehören Keyup (jedes Mal, wenn eine Taste gedrückt wird) und Unschärfe (wenn das Steuerelement den Fokus verliert). Wenn nicht angegeben, wird es nur ausgelöst, wenn die Schaltfläche „Senden“ gedrückt wird gedrückt)

$(document).ready(function(){
$("#signupForm").validate({
event:"keyup" || "blur"
})
})
Nach dem Login kopieren

Wenn Sie debug als true angeben, wird das Formular nicht gesendet und kann nur zur Überprüfung (Standard ist Übermittlung) und zum Debuggen verwendet werden

$(document).ready(function(){
$("#signupForm").validate({
debug:true
})
})
Nach dem Login kopieren

Wenn Sie vor dem Absenden eine benutzerdefinierte Verarbeitung durchführen müssen, verwenden Sie den SubmitHandler-Parameter

$(document).ready(function(){
$("#signupForm").validate({
SubmitHandler:function(){
alert("success");
}
})
})
Nach dem Login kopieren
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage