论坛首页 Web前端技术论坛

基于prototype的validation.js问题

浏览 3517 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-04-09  

这两天我们使用基于prototype的validation.js表单验证,官方网站的例子是用div,可是我们用的是table,看了很长时间都不知道怎么弄,最后经过不断试验,和查看资料,得出了一下结论,如果使用table的<tr><td>做表单,在页面上除了引入prototype.js,validation.js等,还需要写下如下代码:

<script type="text/javascript">

window.onload = function(){
var validator = new Validation('frmRegister', {stopOnFirst:true, immediate:true});
}
</script>

 frmRegister为form的id值。

使用时,只需在输入框加入class=" *** " 这里的*为你所用调用的js,例如class="required min-length-4 max-length-10;" ,除此还遇到了一个问题,就是如何验证下拉列表不为空,这个好像validation.js中没有,最后我才知道,是要自己写,将自己定义的js这样写:

 

 ['validate-select', '请输选择下拉列表', function(v) {

return Validation.get('IsEmpty').test(v) || /[^0]/.test(v);
}],

 通过正则表达式使值不能等于"0"实现。

最后说一下,validation.js中的内容:

  • required -- 非空域
  • validate-number -- 一个有效数
  • validate-digits -- 只能包含[0-9]任意个数字
  • validate-alpha -- 只能是字母[a-zA-Z]
  • validate-alphanum -- 只能是字母和数字的组合
  • validate-date -- 只能是日期
  • validate-email -- 只能是有效的email
  • validate-url -- 只能是有效的url地址
  • validate-date-au -- 日期的形式必须是dd/mm/yyyy
  • validate-one-required -- 至少有一个被选中,例如一组checkbox, radiobutton,它们最好包含在一个div和span中
  • validate-date-cn -- 日期的形式必须是yyyy/mm/dd
  • validate-integer -- 只能是整数,可以有正负号
  • validate-chinese -- 只能是中文
  • validate-ip -- 有效的IP地址
  • validate-phone -- 有效的电话(仅适用于中国)
  • validate-mobile-phone -- 有效的手机号,在badqiu的版本中只验证了135的,有待改进
  • validate-equals-$otherInputId -- 必须和某个input field相等例如 validate-equals-otherInputId(此处$some表示一个特定的值)
  • less-than-$otherInputId -- 小于某个input field less-than-otherInputId(此处$some表示一个特定的值)
  • great-than-$otherInputId -- 大于某个input field less-than-otherInputId(此处$some表示一个特定的值)
  • min-length-$number -- 最小长度是$number(此处$some表示一个特定的值)
  • max-length-$number -- 最大长度是$number(此处$some表示一个特定的值)
  • validate-file-$type1-$type2-$typeX -- file的input必须是声明的$type1 -- $typeX中的一种
  • validate-float-range-$minValue-$maxValue -- 必须是$minValue到$maxValue的一个浮点数
  • validate-int-range-$minValue-$maxValue -- 必须是$minValue到$maxValue的一个整数
  • validate-length-range-$minLength-$maxLength -- 输入字符串的长度必须在$minLength到$maxLength之间
  • max-value-$number -- 输入域的最大值是$number
  • min-value-$number -- 输入域的最小值是$number
  • validate-pattern-$patternAttributes -- 通过自定义pattern来验证输入域的正确性
  • validate-ajax -- 通过ajax来验证输入域 
  • 这些属性都可以定义在表单验证输入框的class中。

    论坛首页 Web前端技术版

    跳转论坛:
    Global site tag (gtag.js) - Google Analytics