DreamWeaver CS3中的SPRY的自定义验证

  近两日,用了DreamWeaver CS3中的SPRY组件。发现,它能自动的对一些输入进行前台认证。还算比较方便,它内置了一些验证的内容,例如:数字验证、字符串验证、邮政编码验证、日期验证等等。  

  不过,美中不足的是,它内置的一些验证,在中国的实际应用中并不是很大,因为它提供的一些验证都是以美国的标准来的,和中国的标准还有些差距。  

  这时,唯一想到就是扩展它的验证。修改它的代码就不想了,自己水平不够。看看有没有其他的方法。在网络上找了一些资料后,经过自己的实践,终于成功了。现将代码赋予其后。  

 

<span id="sprytextfield1">
<input type="text" name="text1" id="text1" />
<span class="textfieldRequiredMsg">需要提供一个值。</span>
 <span class="textfieldInvalidFormatMsg">数据无效。</span></span>

 

   这是你手动拖一个SPRY的文本框验证的生成一段代码。  

  后面是一段声明SPRY的代码 

 

<script type="text/javascript">
<!--
var sprytextfield1 = new Spry.Widget.ValidationTextField
("sprytextfield1", "custom", {validateOn:["blur"],validation:EXT});
//-->
</script>

  最后的validation:EXT是我手动添加的,表示SPRY的验证通过调用EXT这个函数来实现。EXT返回True,表明验证通过,EXT返回False表示验证不通过。(EXT是函数名,可以自己另外定义,不过这种方法貌似不能传递参数) 

<script language="javascript">
var EXT = function(){
var objReg=/(13)(\d{9})/;
t
=form1.text1.value;
return objReg.test(t);
}
</script>

  上面这段代码,表示验证text1的内容时候符合中国的手机号码。

   我们可以通过修改EXT函数来达到自定义验证的效果。例如:验证密码框和重复密码框中的内容是否一样。  

<script language="javascript">
var EXT = function(){
return (form1.Pass.value==form1.RePass.value);
}
</script>
作者:万仓一黍
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @ 2010-03-17 08:57 万仓一黍 阅读(1262) 评论(5) 编辑 收藏

 回复 引用 查看   
#1楼2010-03-17 09:11 | 超晨      
这个正则写得不好,不是13打头的就是手机
 回复 引用 查看   
#2楼2010-11-12 14:14 | drpc      
請問用DW的Spry表單驗證功能
有沒有辦法在所有欄位驗證通過後
取得一個返回的值呢?
我是想在驗證通過後再秀出他填的資料在一個彈出的新視窗中
預覽無誤後再送出表單
感謝

 回复 引用 查看   
#3楼[楼主]2010-11-13 21:29 | 万仓一黍      
谢谢你的提问
我估计你可以在EXT函数中进行判断
满足条件后,跳转到一个秀出内容的新视窗。
在新视窗中进行数据提交

 回复 引用 查看   
#4楼[楼主]2010-11-13 21:30 | 万仓一黍      
@drpc
谢谢你的提问
我估计你可以在EXT函数中进行判断
满足条件后,跳转到一个秀出内容的新视窗。
在新视窗中进行数据提交

 回复 引用 查看   
#5楼2011-12-22 16:32 | zesion      
都已经用到正则了。还要搞个SPRY多费力啊。。

直接用JQUERY吧。自己写或者用他的validate插件就好了。