Coolite自定义验证,VType

    前些天,由于项目功能需要。尝试使用Coolite控件的自定义验证,VType,我项目的开发环境是VS2005+MySql,使用的是Coolite 0.8。在网上查到一些关于Ext的自定义验证使用的方法,不过在我的项目中遇到一些问题,具体情况如下:

 

看到网上的朋友们在使用VType进行自定义验证的时候都如:http://www.cnblogs.com/DNNCenter/archive/2009/08/08/1542018.html

处理的(详情请见这个链接,就不详细写了)

 

而我项目中遇到的问题:

问题1.

直接写Ext.apply(Ext.form.VTypes, {
.......

}

 

运行时报错:Ext未定义。 

 

解决办法

建一JS方法

   

然后在form中调用:

      

问题2.

在自定义这个验证中如果使用Ajax.Methods.xxxx的Ajax方式在服务端进行验证,而客户端始终接收到服务端的验证结果有问题,我仔细跟踪过,即使服务端返回结果为true,同时我已经将true赋值给了客户端的isValid(该值纪录验证结果),但到后面代码中,isValid的值依然变“”了,简单思考了一下,这个问题出现的原因可能与AjaxMethod方法调用可能有一个响应延迟,但是不是这个原因造成的就不清楚了。因为时间原因,则另外想了一个烂招数来解决这个问题

 

解决办法:

在页面放置了一个coolite的Hidden控件,用这个控件来纪录服务端验证结果,而Ajax.Methods.xxxxx方法执行完成后,在客户端取得Hidden控件中的值,用该值来确定是否验证通过。例: 

  

 

由于项目进度催得紧。暂时没有深究这两个问题出现的原因。暂且纪录这两个问题及目前的解决办法,后面再来仔细研究!

 

2010-9-9号补充:

 

这两天又想了一下这个问题,估计出大概原因是因为,使用Coolite的控件开发不同用直接使用ExtJs,自定义扩展验证代码直接放在Header中不行的原因可能是由于还没有初始化控件(指具体使用这个自定义验证的Coolite控件),但就来调用Ext.Apply......,所以导致出错。所以,如果直接将Ext.apply........的自定义扩展代码写到页面的<body>部分就OK了,而不用像上面这样绕个圈子!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值