我爱爷爷奶奶教案:表单验证方式的通用化
来源:百度文库 编辑:中财网 时间:2024/04/28 19:21:57
在上一篇“Web页面表单域验证方式的改进“中,我们通过把验证法则(正则表达式和是否必填字段)写在表单域中,将验证过程和验证法则成功的分离,从而减少了重复代码,使验证变得简单易行,在实际使用中,我们可以把验证过程放在一个JS文件中,对于全输入验证界面,在页面的表单验证部分只需要调用其中的checkForm函数就能进行有效验证,页面上不再需要书写重复性高的JS验证代码;对于复杂的表单,比如其中含有复选框或是需要两个文本框比较的地方,这种方法也可让你不写通用验证代码而把主要精力放在特殊的验证上。这些能减轻不少工作量,让繁琐的工作变得轻松愉快起来。
下面我们看一看这种用法的实际使用。
首先,我们可以把验证过程放在一个JS文件中,具体代码如下:
formchecker.js
/**//**
* Check form
*/
function checkForm(vform){
for(var i=0;i {
if(vform.elements[i].type=="text"){
var checkResult=checkTextBox(vform.elements[i]);
var name=vform.elements[i].getAttribute("name");
if(checkResult){
document.getElementById(name+"Msg").className="feedbackHide";
}
else{
document.getElementById(name+"Msg").className="feedbackShow";
vform.elements[i].focus();
return false;
}
}
}
return true;
}
/**//**
* Check text field in the form
*/
function checkTextBox(vTextBox){
var validChar=vTextBox.getAttribute("validChar");
var isRequired=vTextBox.getAttribute("isRequired");
var inputValue=vTextBox.value;
if(isRequired!="true" && inputValue.length<1){
return true;
}
else{
var regexStr="^"+validChar+"$";
var regex=new RegExp(regexStr);
return regex.test(inputValue);
}
}
/**//**
* Remove Extra Char in textbox
*/
function removeExtraChar(vTextBox,event){
var maxlength=parseInt(vTextBox.getAttribute("maxlength"));
var inputValue=vTextBox.value;
if(inputValue.length>=maxlength){
event.keyCode=9;
}
}
下面想验证一个用户登录页面,它的页面部分代码如下:
<%@ page contentType="text/html; charset=UTF-8" %>
"我的事务备忘录"用户登录页面
type="text/css" />
<%
String msg = (String) request.getAttribute("Msg");
if (msg != null) {
out.print(msg);
}
%>
请注意其中没有任何页面验证的JS代码,只有在表单验证的地方调用formchecker.js中的函数。
下面我们看一看这种用法的实际使用。
首先,我们可以把验证过程放在一个JS文件中,具体代码如下:
formchecker.js
/**//**
* Check form
*/
function checkForm(vform){
for(var i=0;i
if(vform.elements[i].type=="text"){
var checkResult=checkTextBox(vform.elements[i]);
var name=vform.elements[i].getAttribute("name");
if(checkResult){
document.getElementById(name+"Msg").className="feedbackHide";
}
else{
document.getElementById(name+"Msg").className="feedbackShow";
vform.elements[i].focus();
return false;
}
}
}
return true;
}
/**//**
* Check text field in the form
*/
function checkTextBox(vTextBox){
var validChar=vTextBox.getAttribute("validChar");
var isRequired=vTextBox.getAttribute("isRequired");
var inputValue=vTextBox.value;
if(isRequired!="true" && inputValue.length<1){
return true;
}
else{
var regexStr="^"+validChar+"$";
var regex=new RegExp(regexStr);
return regex.test(inputValue);
}
}
/**//**
* Remove Extra Char in textbox
*/
function removeExtraChar(vTextBox,event){
var maxlength=parseInt(vTextBox.getAttribute("maxlength"));
var inputValue=vTextBox.value;
if(inputValue.length>=maxlength){
event.keyCode=9;
}
}
下面想验证一个用户登录页面,它的页面部分代码如下:
<%@ page contentType="text/html; charset=UTF-8" %>
type="text/css" />
<%
String msg = (String) request.getAttribute("Msg");
if (msg != null) {
out.print(msg);
}
%>
8 用户登录: |
请注意其中没有任何页面验证的JS代码,只有在表单验证的地方调用formchecker.js中的函数。
最新新闻 沃茨手表网
CSDN程序文档
上海旅游网 神马百科 程序博客
香蕉皮作业帮 景德镇新闻网 余姚信息网
作业帮作业网 互助问答吧 16楼社区
解题作业帮艺术百科亮点网神马百科
神马文学网
拍题作业网
UC知道
我爱散文网
北方网
科学网
第一文库网
微思作业网
我要文章网
都市新闻网西欧教育西山新闻网好楼房产信息网
九乡新闻网农企信息网仙女们写真照片音乐简谱网米粒芽学校大全网95后网站汝南网欧普网宝宝故事网
神马品牌网
杭州交通信息网/">
杭州市高中教育平台
查人人中国名人网
爱美之人
上车买票
安卓系统之家
中科新闻网
科学院研究所
高考快车
高考志愿帮
大学志愿大全
高校问答
高考问答
中考百科
大学知道
久游网