`

validation.html

阅读更多
例子来源:《Ajax 基础教程》 金灵 等译 这本书非常不错

validation.html

<html>
<head>
<title>Using Ajax for validation</title>
<script type="text/javascript">
var xmlHttp;

function createXMLHttpRequest() {
	if (window.ActiveXObject) {
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else if (window.XMLHttpRequest) {
		xmlHttp = new XMLHttpRequest();
	}
}

function validate() {
	createXMLHttpRequest();
	var date = document.getElementById("birthDate");	
	var url = "ValidationServlet?birthDate=" + escape(date.value);
	xmlHttp.onreadystatechange = callback;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}

function callback() {
	if(xmlHttp.readyState == 4) {
		if(xmlHttp.status == 200) {
			var mes = xmlHttp.responseXML.getElementsByTagName("message")[0].firstChild.data;
			var val = xmlHttp.responseXML.getElementsByTagName("passed")[0].firstChild.data;
			setMessage(mes, val);
		}
	}
}

function setMessage(message, isValid) {
	var messageArea = document.getElementById("dateMessage");
	var fontColor = "red";
	if (isValid == "true") {
		fontColor = "gree";
	}
	messageArea.innerHTML = "<font color=" + fontColor + ">" + message + " </font>";
}

</script>
</head>
<body>
<h1>Ajax Validation Example</h1>
Birth date: <input type="text" size="10" id="birthDate" onchange="validate();" />
<div id="dateMessage"></div>
</body>
</html>


ValidationServlet.java

package ajaxbook.chap4;

import java.io.IOException;
import java.io.PrintWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ValidationServlet extends HttpServlet {

	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		PrintWriter out = response.getWriter();
		boolean passed = validateDate(request.getParameter("birthDate"));
		response.setContentType("text/xml");
		response.setHeader("Cache-Control", "no-cache");
		String message = "You have entered an invalid date.";
		if (passed) {
			message = "You have entered a valid date.";
		}
		out.println("<response>");
		out.println("<passed>" + Boolean.toString(passed) + "</passed>");
		out.println("<message>" + message + "</message>");
		out.println("</response>");
		out.println();
		out.close();

	}

	private boolean validateDate(String date) {
		boolean isValid = true;
		if (date != null) {
			SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
			try {
				formatter.parse(date);
			} catch (ParseException e) {
				System.out.println(e.toString());
				isValid = false;
			}
		} else {
			isValid = false;
		}
		return isValid;
	}

}
分享到:
评论

相关推荐

    表单验证类 基于prototype的validation.js

    validation.js是一个基于prototype表单前端验证工具,与其它库相比,简单易用.

    jakarta.validation-api-2.0.2-API文档-中文版.zip

    赠送jar包:jakarta.validation-api-2.0.2.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    jquery.validation.unobtrusive.js

    &lt;title&gt;validation test .icon-ok { background: url(./images/icon-ok.png) no-repeat center; width: 16px; height: 16px; display: inline-block; } .icon-error { background: url(./images/icon-...

    Aspnet-ddd-validation.zip

    Aspnet-ddd-validation.zip,用于根据Vaughn Vernon使用c 35;/asp.netddd-validation验证实体的DDD库,asp.net是一个开源的...asp.net创建基于html5、css和javascript的网站,这些网站简单、快速,可以扩展到数百万用户。

    validation-api-2.0.1.Final-API文档-中文版.zip

    赠送jar包:validation-api-2.0.1.Final.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    Struts2_Validation

    从http://wiki.javascud.org/display/ww2cndoc/Valida&lt;br&gt;tion 网站上收集的一些关于有关Struts2验证框架的资料,并将其做成电子书以方便查看,另外向朋友们推荐一个很好的学习Struts2的博客...

    Ajax-AspNetCoreBootstrap4Validation.zip

    Ajax-AspNetCoreBootstrap4Validation.zip,ASP.NET核心MVC引导4 AJAX,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新...

    jakarta.validation-api-2.0.1-API文档-中文版.zip

    赠送jar包:jakarta.validation-api-2.0.1.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    jakarta.validation-api-2.0.1-API文档-中英对照版.zip

    使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

    beanvalidation.org:Bean验证网站

    如何建立beanvalidation.org 一点点的Git,一点点的Ruby,您将获得本地的beanvalidation.org服务。先决条件获取 获取 &gt; 1.9 获得来管理单独的Ruby环境(可选-您应该知道做什么以及为什么这么做)安装获取来源&gt; git ...

    validation-api-1.1.0.Final-API文档-中文版.zip

    赠送jar包:validation-api-1.1.0.Final.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    jakarta.validation-api-2.0.2-API文档-中英对照版.zip

    使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

    validation-api-2.0.1.Final-API文档-中英对照版.zip

    使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

    FormValidation完整源码和演示

    FormValidation,非常强大实用的难框架,完美支持html的data属性,能够自定义验证器。本资料系完整源码和演示脚本。

    form-validation.js:用于创建和练习表单验证的项目!

    表格验证 :check_mark:关于这个项目... :light_bulb: 该项目仅用于实践JavaScript中的约束验证API。... 如果表单输入接收到任何无效数据,则CSS选择器将以红色突出显示这些数据,直到输入变为有效为止为止,输入将以...

    validation-api-1.1.0.Final-API文档-中英对照版.zip

    使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。

    J2EE 6 API

    javax.faces.component.html javax.faces.component.visit javax.faces.context javax.faces.convert javax.faces.el javax.faces.event javax.faces.lifecycle javax.faces.model javax.faces.render ...

    activiti-process-validation-5.21.0-API文档-中文版.zip

    赠送jar包:activiti-process-validation-5.21.0....使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    HTML Form Validation with Javascript.zip

    HTML Form Validation with Javascript

    bootstrapvalidator是一款简单实用的Bootstrap3表单验证jQuery插件

    bootstrap-validator是一款简单实用的Bootstrap3表单验证jQuery插件。该表单验证插件使用HTML5的data属性来设置验证属性,可以完成所有常用的表单验证功能。

Global site tag (gtag.js) - Google Analytics