======================================================
注:本文源代码点此下载
======================================================
最近在做一个小型项目,用到一个用户注册,由于安全考虑,要求客户端和服务器端同时验证,我在项目中用的是微软的验证控件,在使用的过程中发现真是很麻烦,在页面中拖了十几个验证控件不说,因为验证的时候验证失败时自定义显示一些错误信息,做起来相当麻烦,有些小的改动找个代码都不方便,最关键的是无法重复使用,所以想自己做一个验证的控件,本来想做自定义控件,后来发现由于验证方面定义的部分比较多,最后选择使用类库。通过页面调用类来实现控件的验证,好了,废话就不多说了,下面请大家一下,初次开源,请大家多多指教。
先请大家看看页面调用的代码。
页面调用
using system;
using system.collections;
using system.configuration;
using system.data;
using system.web;
using system.web.security;
using system.web.ui;
using system.web.ui.webcontrols;
using system.web.ui.webcontrols.webparts;
using system.web.ui.htmlcontrols;
namespace demo
{
public partial class webform1 : system.web.ui.page
{
koodoo.validation.formvalidate fv;
protected void page_load(object sender, eventargs e)
{
fv = new koodoo.validation.formvalidate(this, "button1", true);
fv.valiajaxemail("useremail", "请输入正确格式的email", "您输入的邮箱已存在", "checkemail.aspx", "key");
fv.valinormalnumber("textbox1", "请输入数字,长度为2-6", false, 2, 6);
fv.valicompare("textbox2", "上一个数字不相等", "textbox1");
fv.valicheckbox("checkboxlist1", "请至少选择两个", 2);
fv.valiradio("radiobuttonlist1", "请选择");
fv.valiselect("dropdownlist1", "请选择", "请选择");
fv.display();
}
protected void button1_click(object sender, eventargs e)
{
if (fv.submit_server())
{
response.write("验证通过");
}
else
{
response.write("验证未通过");
}
}
}
}
实例化1->参数1:当前页面,参数2:提交的按钮,参数3:是否是开发阶段(当处于开发阶段时,每次都会生成js代码放到网站的js文件夹下,如处于运行阶段,就设为false)
fv = new koodoo.validation.formvalidate(this, "button1", true);
实例化2->参数1:当前页面,参数2:提交的按钮,参数3:显示错误信息方式(1:每一下控件都有对就的label显示错误,2:在一个指定的label上显示所有错误信息,3:在一个指定label上显示一条错误信息)参数4:显示错误信息的指定label,参数3为2和3时有效,参数5:是否是开发阶段
fv = new koodoo.validation.formvalidate(this, "buttin1", 1, "errmsg", true);
在使用后,调用display()向页面加入js代码。
在服务器端验证调用submit_server(),如果返回true则验证通过。
当使用验证报错时,可以自定义js脚本可以用于显示页面一些自定义的报错样式
如我这里面用到的: (注:报错方式为 1 时,对就的显示错误label的id为,被验证控件加“_err”,如果前面加必填*时,则加"_x",说的不太清楚,大家看源码吧)
var showerr = function(id)
{
$("#"+id).attr("style","border:1px #ff0000 solid;");
$("#"+id+"_err").attr("style","color:red");
$("#"+id+"_x").attr("style","color:red");
}
var hideerr = function(id){
$("#"+id).attr("style","");
$("#"+id+"_err").attr("style","");
$("#"+id+"_x").attr("style","");
}
更多的内容,大家看一下源码吧
源码已更新 源码下载
第一次发到首页,等待大家拍砖。
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/