EasyTools的AjaxTextBox详解
前两天已经发布了AjaxTextBox控件,但上篇文章只是简单的说这个控件有什么特点,怎样用。今天说下这个控件的高级应用(适用于对js脚本有点了解的用户使用)。
先说下控件的一些属性吧!如下图:
RegularExpression ---控件要验证的正则表达式,为空的时候表示不需要正则验证;
ShowFiledId----------提示标签的id,加入为空,默认会把提示语句显示在控件后面。如果跟某个label关联的时候,提示语句就会在这个label上面显示。
注意:ShowFiledId不管值是否为空,要显示提示语句,都必须不要修改下面的1,2,3,4这4个属性,
1.ValidErrorFun-------验证失败时候触发的js函数,默认值是:Ets_AjaxTextBox_DefaultErrorfun。
2.AjaxExceptionFun---做ajax验证发生异常的时候触发的js函数,默认值是:Ets_AjaxTextBox_DefaultExceptionfun。
3.onloadFun-----------做ajax验证的过程中loadding服务端返回的验证结果的等待过程触发的函数,默认值是:Ets_AjaxTextBox_DefaultLoadfun
4.SuccessFun----------所有验证都通过时执行的js函数,默认值是:Ets_AjaxTextBox_DefaultSuccessfun
5.CustomFun----------如果用户觉得上面的几种验证还是不能满足要求的话,可以考虑使用这个属性。默认值是:空。
上面这5个属性后面再特别介绍,如果用户自定义函数该怎么写。
IsShowPic--------------是否显示默认图片,如下图的√,X等图标
ValidErrorColor----------验证错误时ShowFiledId绑定的提示区域的文字颜色;(该效果只有在使用默认函数配置时有效,只要跟ShowFiledId相关的都要满足这个条件,如上面的:IsShowPic)
ValidSuccessColor-------验证成功时的文字颜色。(跟ShowFiledId相关)
还有一些文字提示的属性也是跟ShowFiledId相关。
EmptyErrorString------为空的时候提示的文字。(该属性只有在属性AllowEmpty=true的时候才有效)
RegularErrorString-----正则匹配不通过的时候提示的文字。(该属性只有在RegularExpression!=""的时候才有效)
LengthErrorString------长度验证不通过的时候提示的文字。
AjaxErrorString--------ajax验证不通过的时候提示的文字。(该属性只有当有服务端的ajax事件时才有效)
AjaxExceptionString----ajax验证服务端发生异常的时候提示的文字。(该属性只有当有服务端的ajax事件时才有效)
AjaxLoadString--------ajax请求等待过程中的提示文字。(该属性只有当有服务端的ajax事件时才有效)
SuccessString----------验证成功的时候显示的文字。
另外一些其他的属性
OnEvent---------------一个枚举类型,可以选择控件发生验证是在哪个事件里面。有两个值给选:onchange和onblur
AllowEmpty------------是否允许为空
MaxLen----------------输入框输入的最大长度,中文按两个字符算
IsValid------------------是否所有验证都通过,包括ajax验证,系统在后台会再次调用ajax事件.
这个控件是继承TextBox后开发,主要的事件只是添加多一个AjaxRequest事件。上面文章已经说过。
基本整个控件的东西都在这里了。下面说下用户自定义js函数该怎么写:
1.ValidErrorFun-------验证失败时候触发的js函数,默认值是:Ets_AjaxTextBox_DefaultErrorfun。
先看下Ets_AjaxTextBox_DefaultErrorfun
Ets_AjaxTextBox_DefaultErrorfun(obj,lbobj,wrongtag)
这里跟大家说明这几个参数
1.obj指的验证控件对象,他有几个属性:
isshowpic,是否显示图标
empstr,为空时显示的字符
expstr,正则匹配不通过的时候显示的文字
lenstr,长度太长显示的文字
aerrstr,ajax验证失败的时候显示的文字
aloastr,ajax验证过程中显示的文字
aexcstr,ajax异常的文字
cusstr,用户自定义验证不通过显示的文字
2.lbobj指的是绑定的label对象
3.wrongtag,通过这个参数,可以知道目前是什么过程发生验证错误,它有下面几个值:
值1:为空的验证失败;值2:正则验证失败;值3:长度验证失败;值4:ajax验证失败;值5:用户自定义函数验证失败;
整个验证顺序按1,2,3,5,4 的顺序验证
如果用想自己写这个验证错误时的js函数,可以参考上面Ets_AjaxTextBox_DefaultErrorfun(obj,lbobj,wrongtag),参数不变。
2.AjaxExceptionFun---做ajax验证发生异常的时候触发的js函数,默认值是:Ets_AjaxTextBox_DefaultExceptionfun。
3.onloadFun-----------做ajax验证的过程中loadding服务端返回的验证结果的等待过程触发的函数,默认值是:Ets_AjaxTextBox_DefaultLoadfun
4.SuccessFun----------所有验证都通过时执行的js函数,默认值是:Ets_AjaxTextBox_DefaultSuccessfun
5.CustomFun----------如果用户觉得上面的几种验证还是不能满足要求的话,可以考虑使用这个属性。默认值是:空。
这几个客户端函数都是型如:XXXX(obj,lbobj)
传入参数跟上面的一样,只是少了个wrongtag,用户如果想自己写这几个函数,可以参照控件默认函数,自己写出自定义的验证函数,达到你想要的任何效果。
补充下CustomFun一定要有返回值,如果通过用户字定义的验证方法,return true;否则return false;
最后希望大家在使用过程中有什么好的意见或bug都可以联系我。邮箱:hongkid@126.com
谢谢!