Semasa proses pembangunan laman web, kadangkala kami perlu mengesahkan sama ada maklumat yang dimasukkan oleh pengguna memenuhi keperluan kami, jadi kami akan mengesahkan data yang diserahkan oleh pengguna. Pengesahan dilakukan dua kali, sekali di sisi klien dan sekali di sisi pelayan. Pengesahan pihak pelanggan boleh meningkatkan pengalaman pengguna.
Terdapat banyak pemalam pengesahan jquery, dan ia melaksanakan fungsi yang sama pada dasarnya. Artikel ini hanya memperkenalkan jquery.validate
, salah satu pemalam pengesahan jquery.jquery.Validation ialah pemalam jquery yang sangat baik yang boleh mengesahkan borang pelanggan dan menyediakan banyak sifat dan kaedah yang boleh disesuaikan dengan kebolehskalaan yang baik.
1.jquery.validate fungsi pemalam
Pelaksanaan mudah pengesahan maklumat pelanggan dan penapisan maklumat yang tidak memenuhi keperluan
2.jquery.sahkan alamat rasmi
Alamat rasmi: http://jqueryvalidation.org/, dengan arahan penggunaan pemalam yang terperinci
Demo rasmi: http://jquery.bassistance.de/validate/demo/
3. Cara menggunakan jquery.validate
1. Petikan js
<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.validate.js"></script>
gaya 2.css, boleh disesuaikan, cuma tambah gaya ralat atau gunakan gaya dalam demo rasmi.
.error{ color:red; margin-left:8px; }
Kod 3.js
$(document).ready(function() { // validate signup form on keyup and submit var validator = $("#signupform").validate({ rules: { firstname: "required", username: { required: true, minlength: 2 }, password: { required: true, minlength: 5 }, password_confirm: { required: true, minlength: 5, equalTo: "#password" }, email: { required: true, email: true, }, dateformat: "required", terms: "required" }, messages: { firstname: "姓名不能为空", username: { required: "用户名不能为空", minlength: jQuery.format("用户名只少由 {0} 字符组成") }, password: { required: "密码不能为空", minlength: jQuery.format("密码只少由 {0} 字符组成") }, password_confirm: { required: "确认密码不能为空", minlength: jQuery.format("确认密码只少由 {0} 字符组成"), equalTo: "秘密与确认密码不一致" }, email: { required: "邮箱不能为空", email: "邮箱格式不正确" }, dateformat: "请选择性别", terms: " " }, // the errorPlacement has to take the table layout into account errorPlacement: function(error, element) { if ( element.is(":radio") ) error.appendTo( element.parent().next().next()); else if ( element.is(":checkbox") ) error.appendTo ( element.next()); else error.appendTo( element.parent().next()); }, // specifying a submitHandler prevents the default submit, good for the demo submitHandler: function() { alert("submitted!"); }, // set this class to error-labels to indicate valid fields success: function(label) { // set as text for IE label.html(" ").addClass("checked"); }, highlight: function(element, errorClass) { $(element).parent().next().find("." + errorClass).removeClass("checked"); } }); });
Kod di atas hanya menggunakan sifat dan kaedah yang disediakan oleh pemalam. Anda juga boleh menyesuaikan kaedah pengesahan. Seperti
$.validator.addMethod("checkUserName", function(value) { //value为验证的值,对应于元素id //方法代码 }, '用户名格式不正确');
Menggunakan kaedah tersuai juga sangat mudah, hanya id elemen: "checkUserName"
4. HTML digunakan
<form id="signupform" autocomplete="off" method="get" action=""> <table> <tr> <td class="label"><label id="lfirstname" for="firstname">姓名</label></td> <td class="field"><input id="firstname" name="firstname" type="text" value="" maxlength="100" /></td> <td class="status"></td> </tr> <tr> <td class="label"><label id="lusername" for="username">用户名</label></td> <td class="field"><input id="username" name="username" type="text" value="" maxlength="50" /></td> <td class="status"></td> </tr> <tr> <td class="label"><label id="lpassword" for="password">密码</label></td> <td class="field"><input id="password" name="password" type="password" maxlength="50" value="" /></td> <td class="status"></td> </tr> <tr> <td class="label"><label id="lpassword_confirm" for="password_confirm">确认密码</label></td> <td class="field"><input id="password_confirm" name="password_confirm" type="password" maxlength="50" value="" /></td> <td class="status"></td> </tr> <tr> <td class="label"><label id="lemail" for="email">邮箱</label></td> <td class="field"><input id="email" name="email" type="text" value="" maxlength="150" /></td> <td class="status"></td> </tr> <tr> <td class="label"><label>性别</label></td> <td class="field" colspan="2" style="vertical-align: top; padding-top: 2px;"> <table> <tbody> <tr> <td style="padding-right: 5px;"> <input id="sex_men" name="dateformat" type="radio" value="0" /> <label id="lbl_sex_men" for="dateformat_eu">男</label> </td> <td style="padding-left: 5px;"> <input id="sex_women" name="dateformat" type="radio" value="1" /> <label id="lbl_sex_women" for="dateformat_am">女</label> </td> <td> </td> </tr> </tbody> </table> </td> </tr> <tr> <td class="label"> </td> <td class="field" colspan="2"> <div id="termswrap"> <input id="terms" type="checkbox" name="terms" /> <label id="lterms" for="terms">以阅读并同意网站条款.</label> </div> <!-- /termswrap --> </td> </tr> <tr> <td class="label"></td> <td class="field" colspan="2"> <input id="signupsubmit" name="signup" type="submit" value="注册" /> </td> </tr> </table> </form>
Untuk lebih banyak aplikasi kaedah pengesahan, sila lihat http://jqueryvalidation.org/