jQuery Validate 使用詳解【前端】

一、下載相關文件

      主要文件如下:

1.jquery.validate.min.js

2.additional-methods.min.js

      在頁面中引入上面兩個js文件

        <script src="dist/jQuery-validate/jquery.validate.min.js"></script>
	<script src="dist/jQuery-validate/additional-methods.min.js"></script>

二、代碼編寫

      效果:

 

 

 

      index.html代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
    <title>商品管理系統</title>
    <!-- Bootstrap Core CSS -->
    <link href="./dist/bootstrap/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <div id="wrapper" class="container">
		<div class="row">
                <div class="col-lg-12">
                    <h1 class="page-header">商品出庫</h1>
                </div>
            </div>
        <div class="row">
                <div class="col-lg-12">
                        <div class="alert alert-success">
                        	<div class="row">
                        		<br><br><br>
                        	</div>
                            <div class="row">
                            	<div class="col-lg-4"></div>
                                <div class="col-lg-4">
                                    <form role="form" id="add" action="takeout/add.mvc" method="post" accept-charset="UTF-8" enctype="multipart/form-data">
                                        <div class="form-group has-success">
                                            <label>出庫商品(Product)<font color="red">*</font></label>
                                            <select class="form-control" name="productId" id="product">
                                            	<option ></option>
                                            </select>
                                        </div>
                                        <div class="form-group has-success">
                                            <label>出庫數量(Product Quantity)<font color="red">*</font></label>
                                            <input class="form-control" placeholder="請輸入出庫數量" name="quantity" type="number">
                                        </div>
                                        <div class="form-group has-success">
                                            <label>經手人(Handler)<font color="red">*</font></label>
                                            <input type="text" name="handler" class="form-control"placeholder="請輸入您的名字" >
                                        </div>
                                        <button type="submit" class="btn btn-success">提交</button>
                                        <button type="reset" class="btn btn-success">重置</button>
                                    </form>
                                </div>
                            </div>
                        	<div class="row">
                        		<br><br><br>
                        	</div>
                        </div>
                </div>
            </div>
	</div>
	<!-- Jquery -->
        <script src="./dist/jquery/jquery.min.js"></script>
        <!-- Bootstrap Core JavaScript -->
        <script src="./dist/bootstrap/bootstrap.min.js"></script>
	<!-- jQuery Validate -->
	<script src="dist/jQueryValidate/jquery.validate.min.js"></script>
	<script src="dist/jQueryValidate/additional-methods.min.js"></script>
        <!-- 表單攔截 -->
	<script src="dist/jquery/jquery.form.min.js"></script>
	<!-- 自定義的js文件 -->
    <script src="main.js"></script>
</body>
</html>

      main.js文件:

$(document).ready(function(){
	//獲取商品列表
	$.getJSON("product/list/all.mvc",function(productList){
		$.each(productList,function(index,product){
			$("select#product").append("<option value='"+product.id+"'>"+product.productName+"</option>");
		});
	});
	 $("form#add").validate({
		  rules:{
			  productId:{
				  required:true
			  },
			  quantity:{
				  required:true,
				  min:1,
				  digits:true
			  },
			  handler:{
				  required:true
			  }
	 		
		  },
	      messages:{
	    	  productId:{
				  required:"<font color='red'>請選擇出庫商品</font>"
			  },
			  quantity:{
				  required:"<font color='red'>請輸入出庫數量</font>",
				  min:"<font color='red'>出庫數量必須是大於0的整數</font>",
				  digits:"<font color='red'>出庫數量必須是一個的整數</font>"
			  },
			  handler:{
				  required:"<font color='red'>請填寫經辦人</font>"
			  }
	      }
	  });
	  //攔截員工增加表單提交
	  $("form#add").ajaxForm(function(result){
		  if(result.status=='200'){
			  alert("操作成功!");
		  }
		  else{
			  alert(result.message);
		  }
	  });
});

三、自定義驗證

      1.效果:

 

      2.編寫main.js文件:

	//自定義驗證
	jQuery.validator.addMethod("isMobile",function(value,element){
		var length=value.length;
		var mobile=/^1[34578]\d{9}$/;/*/^1(3|4|5|7|8)\d{9}$/*/
		return this.optional(element)||(length==11&&mobile.test(value));
	},"請正確填寫您的手機號碼");
	//驗證郵箱
	jQuery.validator.addMethod("isEmail",function(value,element){
		var email=/^\w{1,16}@\w{1,16}.\w{2,4}$/;
		return this.optional(element)||email.test(value);
	},"請正確填寫您的郵箱")
        $("form#add").validate({
		  rules:{
			  productId:{
				  required:true
			  },
			  quantity:{
				  required:true,
				  min:1,
				  digits:true,
				  isMobile:true
			  },
			  handler:{
				  required:true,
				  isEmail:true
			  }
	 		
		  },
	      messages:{
	    	  productId:{
				  required:"<font color='red'>請選擇出庫商品</font>"
			  },
			  quantity:{
				  required:"<font color='red'>請輸入出庫數量</font>",
				  min:"<font color='red'>出庫數量必須是大於0的整數</font>",
				  digits:"<font color='red'>出庫數量必須是一個的整數</font>",
				  isMobile:"<font color='red'>手機號碼格式錯誤</font>"
			  },
			  handler:{
				  required:"<font color='red'>請填寫經辦人</font>",
				  isEmail:"<font color='red'>郵箱格式錯誤</font>"
			  }
	      }
	  });

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章