天天看點

jsr303 html檔案,SpringBoot結合JSR303對前端資料進行校驗的示例代碼.pdf

SpringBoot結結合合JSR303對對前前端端數資料據進進行行校校驗驗的的示示例例代代碼碼

一一、、校校驗驗分分類類

資料的校驗一般分為** 前端校驗 、 後端校驗 **

二二、、前前端端校校驗驗

前端校驗是最為明顯的,先說一 :

①① HT ML

非空校驗 如 HTML5 新增的屬性 required="true" ,一旦沒有填寫就輸入框就顯示紅色,具體使用如:

②② JS

同時在送出表單發送 Ajax請求 的時候,來個 onSubmit 函數,具體例如 (使用點 EasyUI ):

function submitData(){

$("#fm").form("submit",{

url:"/admin/film/save",

onSubmit:function(){

var content=CKEDITOR.instances.content.getData();

if(content==""){

$.messager.alert("系統提示","内容不能為空!");

return false;

}

return $(this).form("validate");

},

success:function(result){

var result=eval('('+result+ ')');

if(result.success){

$.messager.alert("系統提示","儲存成功!");

resetValue();

}else{

$.messager.alert("系統提示","儲存失敗!");

}

}

});

}

但我們都知道,這是防君子不防小人的做法,使用者可以使用 F12 ,檢視源碼,修改關鍵部位的代碼,

如把 required="true" 删除掉,就可以送出表單了。

是以前端作用雖然明顯,但是資料處理方面,真正用處并不大。

三三、、後後端端校校驗驗

前面說了那麼多,就是為了引出 後端校驗 這一話題。資料是否送出到資料庫中去,就看後端的代碼了。

後端校驗,主要實施在 JavaBean、Controller 中。 面列舉一個簡單的例子,從代碼中說明一切。

①① 代代碼碼結結構構圖圖

②② entity

實體屬性部位空,一般使用如 @NotEmpty(message="請輸入使用者名!") ,這樣既不能為 空 ,也不能為 null

package com.cun.entity;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.Table;

import javax.validation.constraints.Max;

import javax.validation.constraints.Min;

import javax.validation.constraints.NotNull;

import javax.validation.constraints.Null;

import javax.validation.constraints.Size;