这是对于小型项目的校验!
第一步:需要在dao里面做一个根据角色名称查找数据库把记录查找出来。
dao里面的方法:
/*this method is for validate*/
public DmRole findDmRoleByRoleName(String rolename) {
String queryString = "from DmRole dmRole where dmRole.rolename ='"+rolename+"'";
List list = getHibernateTemplate().find(queryString);
if(null != list && list.size() > 0){
return (DmRole) list.get(0);
}
return null;
}
第二步:需要在service里面做一个方法调用dao里面的这个方法
service里面的方法:
/*this method is for validate*/
public DmRole findDmRoleByRoleName(String rolename){
return dmRoleDAO.findDmRoleByRoleName(rolename);
}
第三步:需要再action里面做校验方法,这个校验方法需要调用service里面的这个方法
action里面的方法:
/*this method is for validate*/
public String validateRoleName() throws IOException{
HttpServletRequest sRequst= ServletActionContext.getRequest();
String rolename = "";
if(null != sRequst.getParameter("rolename")){
rolename = (String)sRequst.getParameter("rolename");
}
System.out.println(rolename);
ServletActionContext.getResponse().setContentType( "text/xml;charset=utf-8");
ServletActionContext.getResponse().setHeader("Cach e-Control", "no-cache");
PrintWriter out = ServletActionContext.getResponse().getWriter();
// 1.取参数
DmRole dmRole = this.roleManageService.findDmRoleByRoleName(rolena me);
// 返回的数据需要拼装成xml格式
StringBuilder builder = new StringBuilder();
builder.append("");
if (dmRole != null) {
builder.append("").append("unpermit").append ("");
} else {
builder.append("").append("permit").append("");
}
builder.append("");
out.println(builder.toString());
return null;
}
第四步:jsp页面
jsp页面的方法:
(1)jsp需要引入一个文件:
var checkObjs = new Array();//用于判断的隐藏域数组
var imgObjs = new Array();//图片数组
var divObjs = new Array();//消息层数组
//表单重置时所做的操作
function doOnReset(v){
//alert(checkObjs.length);
if(checkObjs.length > 0){
for(i = 0; i =0)||(s.indexOf("\'")>=0)||(s.inde xOf("=0)||(s.indexOf(">")>=0)||(s.indexOf("/")>=0)|| (s.indexOf("\\")>=0)){
return false;
}
return true;
}
//设定初始页面显示
function setDefault(verifyObj,imgObj,divObj,v){
$(imgObj).css("display","none");
//$(divObj).empty();
$(verifyObj).val(v);
$(divObj).removeClass("fontError");
$(divObj).addClass("fontGray");
}
//设定正确时的页面显示
function setRight(verifyObj,imgObj,divObj){
addObjs(verifyObj,imgObj,divObj);
imgObj.src = "${pageContext.request.contextPath}/skin/images/gr id/right.gif";
imgObj.style.display = "";
//$(divObj).empty();
$(divObj).removeClass("fontError");
$(divObj).addClass("fontGray");
//divObj.replaceAdjacentText("afterBegin","");
verifyObj.value = "true";
}
//设定错误时的页面显示
function setWrong(verifyObj,imgObj,divObj,divMsg){
addObjs(verifyObj,imgObj,divObj);
imgObj.src = "${pageContext.request.contextPath}/skin/images/gr id/wrong.gif";
imgObj.style.display = "";
$(divObj).empty();
$(divObj).append(divMsg);
$(divObj).removeClass("fontGray");
$(divObj).addClass("fontError");
verifyObj.value = "false";
}
//判断英文和数字
function checkENandNum(verifyObj, dataObj, imgObj, divObj, allowEmpty, otherData){
//addObjs(verifyObj,imgObj,divObj);
//判断非空
if(allowEmpty == "no" || allowEmpty == ""){
if(Trim(dataObj.value) == ""){
setWrong(verifyObj, imgObj, divObj, dataObj.title + "是必填项。");
return;
}
}
var name = Trim(dataObj.value);
for(i = 0; i 64 && name.charCodeAt(i) 96 && name.charCodeAt(i) 64 && name.charCodeAt(i) 96 && name.charCodeAt(i) sysDate.getTime()){
setWrong(verifyObj,imgObj,divObj,dateObj.title + "不能晚于当前时间。");
return;
}
setRight(verifyObj,imgObj,divObj);
}
//检查日期是否大于系统时间
function checkDateMoreThanSysDate(verifyObj, dateObj, imgObj, divObj){
//addObjs(verifyObj,imgObj,divObj);
var sdate = dateObj.value;
var myDate;
if(sdate != ""){
date = sdate.split("-");
myDate = new Date(date[0], date[1] - 1, date[2], 0, 0, 0);
}else{
setWrong(verifyObj,imgObj,divObj,"请选择" + dateObj.title + "。");
return;
}
var sysDate = new Date();
if(myDate.getTime() myDate2){
setWrong(verifyObj1,imgObj1,divObj1,dateObj1.title + "不能大于" + dateObj2.title);
setWrong(verifyObj2,imgObj2,divObj2,dateObj2.title + "不能小于" + dateObj1.title);
return;
}else if(myDate1 == myDate2){
setWrong(verifyObj1,imgObj1,divObj1,dateObj1.title + "不能等于" + dateObj2.title);
setWrong(verifyObj2,imgObj2,divObj2,dateObj2.title + "不能等于" + dateObj1.title);
return;
}
}
setRight(verifyObj1,imgObj1,divObj1);
setRight(verifyObj2,imgObj2,divObj2);
}
//返回上一页面
function GoBack(){
window.history.back();
}
//ajax部分
//获取xmlhttp对象
function GetXmlHttpObject(handler){
var objXmlHttp=null;
if (navigator.userAgent.indexOf("Opera")>=0)
{
alert("This example doesn't work in Opera");
return;
}
if (navigator.userAgent.indexOf("MSIE")>=0)
{
var strName="Msxml2.XMLHTTP";
if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
{
strName="Microsoft.XMLHTTP";
}
try
{
objXmlHttp=new ActiveXObject(strName);
objXmlHttp.onreadystatechange=handler;
return objXmlHttp;
}
catch(e)
{
alert("Error. Scripting for ActiveX might be disabled");
return ;
}
}
if (navigator.userAgent.indexOf("Mozilla")>=0)
{
objXmlHttp=new XMLHttpRequest();
objXmlHttp.οnlοad=handler;
objXmlHttp.οnerrοr=handler;
return objXmlHttp;
}
}
(2)javascript方法
$(document).ready(function() {
$("#rolename").blur(function(){
//失去焦点时
validateRoleName();
}).focus(function(){
//获取焦点时
$("#rolename").select();
});
});
//验证角色名称的唯一性
function validateRoleName(){
//if(document.getElementById("checkcinemacode").va lue == "false"){return false;}
var rolename = $.trim($("#rolename").val());
if('' == rolename){
return false;
}
$.get("${pageContext.request.contextPath}/role/rol eManage!validateRoleName.action","rolename=" + rolename,validateCallback,"xml");
}
function validateCallback(data){
if("unpermit" == $(data).find("result").text()){
//不许注册
setWrong(document.getElementById("checkrolename"), document.getElementById("img1"),document.getElement ById("div1"), "该角色名称已存在。");
$("#checkrolename").val("false");
} else {
setRight(document.getElementById("checkrolename"), document.getElementById("img1"),document.getElement ById("div1"));
$("#checkrolename").val("true");
}
}
(3)显示部分的jsp代码
角色名称:
第一步:需要在dao里面做一个根据角色名称查找数据库把记录查找出来。
dao里面的方法:
/*this method is for validate*/
public DmRole findDmRoleByRoleName(String rolename) {
String queryString = "from DmRole dmRole where dmRole.rolename ='"+rolename+"'";
List list = getHibernateTemplate().find(queryString);
if(null != list && list.size() > 0){
return (DmRole) list.get(0);
}
return null;
}
第二步:需要在service里面做一个方法调用dao里面的这个方法
service里面的方法:
/*this method is for validate*/
public DmRole findDmRoleByRoleName(String rolename){
return dmRoleDAO.findDmRoleByRoleName(rolename);
}
第三步:需要再action里面做校验方法,这个校验方法需要调用service里面的这个方法
action里面的方法:
/*this method is for validate*/
public String validateRoleName() throws IOException{
HttpServletRequest sRequst= ServletActionContext.getRequest();
String rolename = "";
if(null != sRequst.getParameter("rolename")){
rolename = (String)sRequst.getParameter("rolename");
}
System.out.println(rolename);
ServletActionContext.getResponse().setContentType( "text/xml;charset=utf-8");
ServletActionContext.getResponse().setHeader("Cach e-Control", "no-cache");
PrintWriter out = ServletActionContext.getResponse().getWriter();
// 1.取参数
DmRole dmRole = this.roleManageService.findDmRoleByRoleName(rolena me);
// 返回的数据需要拼装成xml格式
StringBuilder builder = new StringBuilder();
builder.append("");
if (dmRole != null) {
builder.append("").append("unpermit").append ("");
} else {
builder.append("").append("permit").append("");
}
builder.append("");
out.println(builder.toString());
return null;
}
第四步:jsp页面
jsp页面的方法:
(1)jsp需要引入一个文件:
var checkObjs = new Array();//用于判断的隐藏域数组
var imgObjs = new Array();//图片数组
var divObjs = new Array();//消息层数组
//表单重置时所做的操作
function doOnReset(v){
//alert(checkObjs.length);
if(checkObjs.length > 0){
for(i = 0; i =0)||(s.indexOf("\'")>=0)||(s.inde xOf("=0)||(s.indexOf(">")>=0)||(s.indexOf("/")>=0)|| (s.indexOf("\\")>=0)){
return false;
}
return true;
}
//设定初始页面显示
function setDefault(verifyObj,imgObj,divObj,v){
$(imgObj).css("display","none");
//$(divObj).empty();
$(verifyObj).val(v);
$(divObj).removeClass("fontError");
$(divObj).addClass("fontGray");
}
//设定正确时的页面显示
function setRight(verifyObj,imgObj,divObj){
addObjs(verifyObj,imgObj,divObj);
imgObj.src = "${pageContext.request.contextPath}/skin/images/gr id/right.gif";
imgObj.style.display = "";
//$(divObj).empty();
$(divObj).removeClass("fontError");
$(divObj).addClass("fontGray");
//divObj.replaceAdjacentText("afterBegin","");
verifyObj.value = "true";
}
//设定错误时的页面显示
function setWrong(verifyObj,imgObj,divObj,divMsg){
addObjs(verifyObj,imgObj,divObj);
imgObj.src = "${pageContext.request.contextPath}/skin/images/gr id/wrong.gif";
imgObj.style.display = "";
$(divObj).empty();
$(divObj).append(divMsg);
$(divObj).removeClass("fontGray");
$(divObj).addClass("fontError");
verifyObj.value = "false";
}
//判断英文和数字
function checkENandNum(verifyObj, dataObj, imgObj, divObj, allowEmpty, otherData){
//addObjs(verifyObj,imgObj,divObj);
//判断非空
if(allowEmpty == "no" || allowEmpty == ""){
if(Trim(dataObj.value) == ""){
setWrong(verifyObj, imgObj, divObj, dataObj.title + "是必填项。");
return;
}
}
var name = Trim(dataObj.value);
for(i = 0; i 64 && name.charCodeAt(i) 96 && name.charCodeAt(i) 64 && name.charCodeAt(i) 96 && name.charCodeAt(i) sysDate.getTime()){
setWrong(verifyObj,imgObj,divObj,dateObj.title + "不能晚于当前时间。");
return;
}
setRight(verifyObj,imgObj,divObj);
}
//检查日期是否大于系统时间
function checkDateMoreThanSysDate(verifyObj, dateObj, imgObj, divObj){
//addObjs(verifyObj,imgObj,divObj);
var sdate = dateObj.value;
var myDate;
if(sdate != ""){
date = sdate.split("-");
myDate = new Date(date[0], date[1] - 1, date[2], 0, 0, 0);
}else{
setWrong(verifyObj,imgObj,divObj,"请选择" + dateObj.title + "。");
return;
}
var sysDate = new Date();
if(myDate.getTime() myDate2){
setWrong(verifyObj1,imgObj1,divObj1,dateObj1.title + "不能大于" + dateObj2.title);
setWrong(verifyObj2,imgObj2,divObj2,dateObj2.title + "不能小于" + dateObj1.title);
return;
}else if(myDate1 == myDate2){
setWrong(verifyObj1,imgObj1,divObj1,dateObj1.title + "不能等于" + dateObj2.title);
setWrong(verifyObj2,imgObj2,divObj2,dateObj2.title + "不能等于" + dateObj1.title);
return;
}
}
setRight(verifyObj1,imgObj1,divObj1);
setRight(verifyObj2,imgObj2,divObj2);
}
//返回上一页面
function GoBack(){
window.history.back();
}
//ajax部分
//获取xmlhttp对象
function GetXmlHttpObject(handler){
var objXmlHttp=null;
if (navigator.userAgent.indexOf("Opera")>=0)
{
alert("This example doesn't work in Opera");
return;
}
if (navigator.userAgent.indexOf("MSIE")>=0)
{
var strName="Msxml2.XMLHTTP";
if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
{
strName="Microsoft.XMLHTTP";
}
try
{
objXmlHttp=new ActiveXObject(strName);
objXmlHttp.onreadystatechange=handler;
return objXmlHttp;
}
catch(e)
{
alert("Error. Scripting for ActiveX might be disabled");
return ;
}
}
if (navigator.userAgent.indexOf("Mozilla")>=0)
{
objXmlHttp=new XMLHttpRequest();
objXmlHttp.οnlοad=handler;
objXmlHttp.οnerrοr=handler;
return objXmlHttp;
}
}
(2)javascript方法
$(document).ready(function() {
$("#rolename").blur(function(){
//失去焦点时
validateRoleName();
}).focus(function(){
//获取焦点时
$("#rolename").select();
});
});
//验证角色名称的唯一性
function validateRoleName(){
//if(document.getElementById("checkcinemacode").va lue == "false"){return false;}
var rolename = $.trim($("#rolename").val());
if('' == rolename){
return false;
}
$.get("${pageContext.request.contextPath}/role/rol eManage!validateRoleName.action","rolename=" + rolename,validateCallback,"xml");
}
function validateCallback(data){
if("unpermit" == $(data).find("result").text()){
//不许注册
setWrong(document.getElementById("checkrolename"), document.getElementById("img1"),document.getElement ById("div1"), "该角色名称已存在。");
$("#checkrolename").val("false");
} else {
setRight(document.getElementById("checkrolename"), document.getElementById("img1"),document.getElement ById("div1"));
$("#checkrolename").val("true");
}
}
(3)显示部分的jsp代码
角色名称: