jqgrid的editrules参数


editrules: 设置编辑字段的控件的规则    

edithidden:只在Form Editing模式下有效,设置为true,就可以让隐藏字段也可以修改。

    required:设置编辑的时候是否可以为空(是否是必须的)。
    number:设置为true,如果输入值不是数字或者为空,则会报错。
    integer:验证整数
    minValue:验证最小值
    maxValue:验证最大值
    email:验证email
    url:检查是不是合法的URL地址。
    date:验证日期
    time:验证时间
    custom:设置为true,则会通过一个自定义的js函数来验证。函数定义在custom_func中。
    custom_func:传递给函数的值一个是需要验证value,另一个是定义在colModel中的name属性值。函数必须返回一个数组,一个是验证的结果,true或者false,另外一个是验证错误时候的提示字符串。形如[false,”Please enter valid value”]这样。

    自定义验证的例子:

<script>
        function mypricecheck(value, colname) {
        if (value < 0 && value >20) 
           return [false,"Please enter value between 0 and 20"];
        else 
           return [true,""];
        }
        jQuery("#grid_id").jqGrid({
        ...
           colModel: [ 
              ... 
              {name:'price', ..., editrules:{custom:true, custom_func:mypricecheck....}, editable:true },
              ...
           ]
        ...
        });
    </script>
formoptions (只在Form Editing方式下有效),他的主要作用是用来重新排序Form中的编辑元素,同时可以在编辑元素前或者编辑元素后增加一些信息(比如,一些提示信息,或者一个红色的*表示必须要填写等等)。
    可选的属性如下:
    elmprefix:字符串值,如果设置了,则会在编辑框之后出现一些内容(可能是HTML的内容)
    elmsuffix:字符串值,如果设置了,则会在编辑框之前出现一些内容(可能是HTML的内容)
    label:字符串值,如果设置了,则这个值会替换掉colNames中的值出现作为该编辑框的标签显示
    rowpos:数字值,决定元素行在Form中的位置(相对于文本标签again with the text-label)
    colpos:数字值,决定元素列在Form中的位置(相对于标签again with the label)
    两个编辑框可以有相同的rowpos值,但是colpos值不同,这会把这两个编辑框放到Form的同一行中。

    特别注意:如果设置了rowpos以及colpos的值,强烈推荐为所有的其他编辑元素都设置这些值。


关于custom_func的用法,网上给出的例子都不完整,让人看了一头雾水。这里给出一个完整的例子。

函数的作用是,判断是不是合法的手机号,如果是,则返回true,代码继续运行,如果否,则提示“不是完整的11位手机号或者正确的手机号格式”,jqgrid继续停留在编辑页面。

name : 'mobile',
index : 'mobile',
editable: true,
editrules : {required : true},
editrules:{
required : false,
custom:true, 
custom_func:function(value, colNames){    
   if(!(/^(1[3-9])\d{9}$/.test(value))){
       return [false, "不是完整的11位手机号或者正确的手机号格式"];  
   }else{
    return [true,""];
   }   
}
以下是 custom_func返回false时的界面:



下面则是可用的验证选项:

选项 类型 描述
edithidden boolean
这个选项只适用于表单编辑模块。默认情况下隐藏的字段是不可编辑的。如果该字段隐藏在grid中并且edithidden设置为true,当调用增加或编辑方法时该字段就可以编辑。
required boolean (true或false)如果设置为true,该值将被检查,如果为空,错误信息将被显示。
number boolean (true或false)如果设置为true,该值将被检查,如果这不是一个数字,一个错误信息将被显示。
integer boolean (true或false)如果设置为true,该值将被检查,如果这不是一个整数,错误信息将被显示。
minValue number(integer) 如果设置了值,单元格的值将被检查,如果单元格的值小于这个值,就会显示错误信息。
maxValue number(integer) 如果设置了值,单元格的值将被检查,如果单元格的值大于这个值,就会显示错误信息。
email boolean 如果设置为true,则该值将被检查,如果这是无效的电子邮箱地址,将显示一条错误消息。
url boolean 如果设置为true,则该值将被检查,如果这不是有效的URL,将显示一条错误消息。
date boolean 如果设置为true,则该值将被检查,如果不是有效的日期,将显示一条错误消息。
time boolean 如果设置为true,则该值将被检查,如果这不是有效的时间,错误信息将被显示。目前只支持hh:mm格式和可选的AM / PM结束时
custom boolean 如果设置为true,允许通过自定义功能自定义检查规则的定义。
custom_func function
当custom设置为true时,function一定要使用。传递到此函数的参数是value,该值一定要被检查和命名。该函数一定要返回由以下参数组成的数组:1,true/false。2,返回给用户的错误信息。例如[false,"请输入正确的数据"]。

转自1:http://blog.csdn.net/mengtianyalll/article/details/13502841

转自2:http://blog.csdn.net/zhmhhu/article/details/52584623

转自3:   http://chevy.iteye.com/blog/706386

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值