一種在客戶端利用js實現對資料校驗的方法
通常為了減輕伺服器端的壓力會在客戶端利用js或其他指令碼對使用者填寫的需要提交的資料進行校驗,同時也會帶來使用者體驗的提升。下面介紹一種在客戶端利用js實現對資料進行校驗的方法,僅供參考。
現在假設使用者需要在客戶端通過後臺進行對產品類別的新增操作,利用js實現對產品類別的校驗,校驗規則為:產品的新增只能在所屬類別的葉子節點下進行。
產品類別在新增頁面通過一個下拉框來展現,現在需要做的就是在使用者進行產品新增操作選擇產品類別時對產品類別進行校驗,保證使用者所選的產品類別不能為非葉子節點,當使用者所選的產品類別為非葉子節點時,對使用者進行提醒。
產品類別展現關鍵程式碼如下:
< form action = "productadd.jsp" method = "post" onsubmit = "return
checkdata()" name = "form">
....
< select name ="categoryid" >
< option value ="0" > 所有類別</ option >
< script type = "text/javascript" >
arrLeaf[0]= "noleaf" ;//預設顯示的所有類別標記為非葉子節點
</ script>
<%
int index=1;
List<Category> categories=Category.getCategories();//獲取所有類別
for (Iterator<Category>
it=categories.iterator();it.hasNext(); ){
Category c=it.next();//通過迴圈取出每個類別
%>
< script type = "text/javascript" >
arrLeaf[' <%= index%> ']=' <%=c.isLeaf()? "leaf" :"noleaf" %> ';
//通過定義的isLeaf()方法在伺服器端載入類別時判斷所取到的類別是否為葉子節點,若為葉子節點將
//arrLeaf[index]賦值為:leaf;若為非葉子節點,則將arrLeaf[index]賦值為:noleaf。
</ script>
< option value =" <%= c.getId() %> "
<%= c.getId()==categoryId?"selected" :"" %> > <%=c.getName() %> </option >
<%
index++;
}
%>
</ select>
....
</ form >
對應的js處理函式checkdata()定義如下:
< script type ="text/javascript" >
<!--
var arrLeaf= new Array();//定義一個arrLeaf陣列用於記錄每個類別是否為葉子節點
function checkdata(){
if (arrLeaf[document.form.categoryid.selectedIndex]!= "leaf"){
//判斷所選中的類別是否為葉子節點,若不為葉子節點,則進行提示。
alert( "不能選擇非葉子節點" );
document.form.categoryid.focus();
return false ;
}
return true ;
}
-->
</ script>
類別類定義如下:
public class Category
{
private int id ;
private int pid ;
private String name ;
private String descr ;
private boolean leaf ;//是否為葉子節點
private int grade ;
....
}
產品類定義如下:
public class Product
{
private int id ;
private String name ;
private String descr ;
private double normalPrice ;
private double memberPrice ;
private Timestamp pdate ;
private int categoryId ;//該欄位參考Category的id欄位
.....
}
相關文章
- 利用tirpc庫實現簡單的客戶端和服務端RPC客戶端服務端
- ASP.NET Core2利用Jwt技術在服務端實現對客戶端的身份認證ASP.NETJWT服務端客戶端
- 【CRC校驗方法】+【FPGA實現(傳送端)】FPGA
- C# 客戶端程式呼叫外部程式的三種實現C#客戶端
- php原生socket實現客戶端與服務端資料傳輸PHP客戶端服務端
- 客戶端骨架屏實現客戶端
- 在 WPF 客戶端實現 AOP 和介面快取客戶端快取
- Redis的Pub/Sub客戶端實現Redis客戶端
- 網頁SSH客戶端的實現網頁客戶端
- 如何利用sockserver模組程式設計實現客戶端併發Server程式設計客戶端
- 一百行js程式碼實現一個校驗工具JS
- 用Vue來進行移動Hybrid開發和客戶端間資料傳輸的一種方法Vue客戶端
- 2.4 一種基於kafka增量資料校驗的方案Kafka
- jQuery實現客戶端CheckAll功能jQuery客戶端
- 客戶端身份驗證客戶端
- 利用CRM系統分析客戶資料
- Go 實現簡易的 Redis 客戶端GoRedis客戶端
- .NET中特性+反射 實現資料校驗反射
- 使用WebService釋出soap介面,並實現客戶端的https驗證Web客戶端HTTP
- 前端與後端TP的資料校驗前端後端
- 前端資料校驗後,後端介面是否需要再次校驗?前端後端
- 客戶端資料儲存概述客戶端
- 實現客戶端與服務端的HTTP通訊客戶端服務端HTTP
- golang實現tcp客戶端服務端程式GolangTCP客戶端服務端
- Golang 實現 Redis(6): 實現 pipeline 模式的 redis 客戶端GolangRedis模式客戶端
- 實現服務端和客戶端的實時雙向資料傳輸-WebSocket簡單瞭解服務端客戶端Web
- 使用 Golang 實現 appium/WebDriverAgent 的客戶端庫GolangAPPWeb客戶端
- RetrofitJs – TypeScript實現的宣告式HTTP客戶端JSTypeScriptHTTP客戶端
- Istio 中實現客戶端源 IP 的保持客戶端
- Jmeter的客戶端實現與Keep-AliveJMeter客戶端Keep-Alive
- GRpc新增客戶端的五種方式RPC客戶端
- 雲時代的資料庫客戶端 —— CloudQuery最佳實踐資料庫客戶端Cloud
- 實現一個clickhouse tcp協議客戶端驅動TCP協議客戶端
- 如何用Java Socket實現一個簡單的Redis客戶端JavaRedis客戶端
- 實現伺服器和客戶端資料互動,Java Socket有妙招伺服器客戶端Java
- 客戶端的js js指令碼的引入 js的解析過程客戶端JS指令碼
- Redis 6.0 客戶端快取的伺服器端實現Redis客戶端快取伺服器
- CRM保護客戶資料安全的方法?
- Java的oauth2.0 服務端與客戶端的實現JavaOAuth服務端客戶端