JEECG中的validform验证ajaxurl的使用方法

23 篇文章 0 订阅
3 篇文章 0 订阅

Validform官网

validform验证是一种非常方便的,实用的验证方式

对于需要验证后台数据的,validform是一个非常明智的选择

validform的ajaxurl属性能够完美的实现:当输入完成某一输入框,就会调用后台方法进行验证,如果符合要求就返回y,如果不符合要求就返回n


现在以添加乡镇信息为例作为讲解:

业务需求:用户录入乡镇信息,包括乡镇编码和乡镇名称,每当输入完成编号或名称光标移开的时候,就要验证编码或者名称是否在数据库中已经存在,如果存在,那么就提示进行重新输入,如果不存在就提示编码或名称可用

用户界面:


解决方案:

使用validform验证控件实现需求

jsp页面代码:

<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/context/mytags.jsp"%>
<!DOCTYPE html>
<html>
 <head>
  <title>乡镇信息</title>
  <t:base type="jquery,easyui,tools,DatePicker"></t:base>
  <script type="text/javascript" src="plug-in/ckeditor_new/ckeditor.js"></script>
  <script type="text/javascript" src="plug-in/ckfinder/ckfinder.js"></script>
  <script type="text/javascript">
  //编写自定义JS代码
  </script>
 </head>
 <body>
  <t:formvalid formid="formobj" dialog="true" usePlugin="password" layout="table" action="jformTownInfoController.do?doAdd" >
					<input id="id" name="id" type="hidden" value="${jformTownInfoPage.id }">
					<input id="createBy" name="createBy" type="hidden" value="${jformTownInfoPage.createBy }">
					<input id="createDate" name="createDate" type="hidden" value="${jformTownInfoPage.createDate }">
		<table style="width: 600px;" cellpadding="0" cellspacing="1" class="formtable">
				<tr>
					<td align="right">
						<label class="Validform_label">
							乡镇编码:
						</label>
					</td>
					<td class="value">
					     	 <input id="townCode" name="townCode" type="text" style="width: 150px" class="inputxt"  
								               datatype="*" <span style="color:#ff0000;">ajaxurl="jformTownInfoController.do?checkSameTownCode"</span>
								               >
							<span class="Validform_checktip"></span>
							<label class="Validform_label" style="display: none;">乡镇编码</label>
						</td>
				</tr>
				<tr>
					<td align="right">
						<label class="Validform_label">
							乡镇名称:
						</label>
					</td>
					<td class="value">
					     	 <input id="townName" name="townName" type="text" style="width: 150px" class="inputxt"  
								               datatype="*" <span style="color:#ff0000;">ajaxurl="jformTownInfoController.do?checkSameTownName"</span>
								               >
							<span class="Validform_checktip"></span>
							<label class="Validform_label" style="display: none;">乡镇名称</label>
						</td>
				</tr>
				<tr>
					<td align="right">
						<label class="Validform_label">
							是否可用:
						</label>
					</td>
					<td class="value">
							  <t:dictSelect field="isOk" type="list"
									typeGroupCode="yesorno" defaultVal="${jformTownInfoPage.isOk}" hasLabel="false"  title="是否可用"></t:dictSelect>     
							<span class="Validform_checktip"></span>
							<label class="Validform_label" style="display: none;">是否可用</label>
						</td>
				</tr>
				<tr>
					<td align="right">
						<label class="Validform_label">
							备注:
						</label>
					</td>
					<td class="value">
					     	 <input id="remark" name="remark" type="text" style="width: 150px" class="inputxt"  
								               
								               >
							<span class="Validform_checktip"></span>
							<label class="Validform_label" style="display: none;">备注</label>
						</td>
				</tr>
			</table>
		</t:formvalid>
 </body>
  <script src = "webpage/gwc/db/town/jformTownInfo.js"></script>		


后台代码:

	/**
	 * 检测系统中是否存在该编码
	 * @param request
	 * @return
	 */
	@RequestMapping(params="checkSameTownCode")
	@ResponseBody
	public Map<String, String> checkSameTownCode(HttpServletRequest request,HttpServletResponse response){
		String ftownCode = StringUtil.nvl(request.getParameter("param"));
		
		logger.info("获得的乡镇编码:"+ftownCode);
		List<JformTownInfoEntity> list =  new ArrayList<JformTownInfoEntity>();
		list = jformTownInfoService.findByProperty(JformTownInfoEntity.class, "townCode", ftownCode);
		Map<String , String> map = new HashMap<String, String>();	
		if (list.size()>0) {
			map.put("info", "系统中已经存在该编码");
			map.put("status", "n");
		}else {
			map.put("info", "该编码可用");
			map.put("status", "y");
		}
		
		return map;
	}
	/**
	 * 检测系统中是否存在该名称
	 * @param request
	 * @return
	 */
	@RequestMapping(params="checkSameTownName")
	@ResponseBody
	public Map<String, String> checkSameTownName(HttpServletRequest request,HttpServletResponse response){
		String ftownCode = StringUtil.nvl(request.getParameter("param"));
		
		logger.info("获得的乡镇名称:"+ftownCode);
		List<JformTownInfoEntity> list =  new ArrayList<JformTownInfoEntity>();
		list = jformTownInfoService.findByProperty(JformTownInfoEntity.class, "townCode", ftownCode);
		Map<String , String> map = new HashMap<String, String>();	
		if (list.size()>0) {
			map.put("info", "系统中已经存在该名称");
			map.put("status", "n");
		}else {
			map.put("info", "该名称可用");
			map.put("status", "y");
		}
		
		return map;
	}
需要注意:在后台获得该字段的值用的是:
request.getParameter("param")

如果要获得该字段的name值:用

request.getParameter("name")

如果验证通过,要返回如下JSON格式数据:

{“info”:”demo info”,”status”:”y”}

如果验证不通过,则返回如下数据:

{“info”:”demo info”,”status”:”n”}

展示效果:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Validform是一款基于jQuery的表单验证插件,可以实现对表单各种输入框的数据格式、长度、大小、范围等进行验证,并提供了丰富的提示信息和样式。 使用Validform,你需要先引入jQuery库和Validform插件文件,然后在表单添加相应的html结构和属性,如下所示: ```html <form action="submit.php" method="post" id="myform"> <input type="text" name="username" datatype="*5-20" nullmsg="请输入用户名!" errormsg="用户名必须为5-20个字符!"> <input type="password" name="password" datatype="*6-20" nullmsg="请输入密码!" errormsg="密码必须为6-20个字符!"> <input type="text" name="email" datatype="e" nullmsg="请输入邮箱!" errormsg="邮箱格式不正确!"> <input type="submit" value="提交"> </form> ``` 在这个例子,我们为每个输入框添加了datatype属性,用来指定验证的类型和规则。如*5-20表示输入的字符数必须在5~20之间,e表示输入的内容必须是一个合法的邮箱地址。同时,我们还为每个输入框添加了nullmsg和errormsg属性,用来指定当输入框为空或输入不符合规则时的提示信息。 最后,在页面加载完成后,我们需要调用Validform插件的初始化方法来启动验证功能,如下所示: ```javascript $(document).ready(function() { $('#myform').Validform(); }); ``` 这样,当我们在表单输入内容并提交时,Validform就会自动对输入框进行验证,如果有错误则会显示相应的提示信息,并阻止表单的提交。如果输入都符合规则,则表单会被提交到指定的URL地址。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值