天天看点

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;