jQuery MiniUI

 找回密码
 立即注册
查看: 2297|回复: 5
打印 上一主题 下一主题

datagrid列验证问题 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2017-4-15 13:27:58 |只看该作者 |倒序浏览
你好,我使用datagrid的行内编辑并在一些列添加了验证,现在想要在某些特定条件下只验证某一列,其他列不验证,请问这个怎么实现?

Rank: 8Rank: 8

沙发
发表于 2017-4-17 09:40:15 |只看该作者
http://www.miniui.com/demo/#src=datagrid/cellvalidation.html
参考示例,验证需要写在列上,不是编辑器上

Rank: 2

板凳
发表于 2017-4-17 09:48:19 |只看该作者
felt 发表于 2017-4-17 09:40
http://www.miniui.com/demo/#src=datagrid/cellvalidation.html
参考示例,验证需要写在列上,不是编辑器 ...

<div field="gender" vtype="required" width="100" renderer="onGenderRenderer" align="center" headerAlign="center">性别
                <input property="editor" class="mini-combobox" style="width:100%;" data="Genders"/>               
</div>
<div field="age" vtype="required;int" width="100" allowSort="true" >年龄
     <input property="editor" class="mini-spinner" minValue="0" maxValue="200" value="25"       style="width:100%;"/>
</div>
还是不明白,就比如这个,性别验证非空,年龄验证非空+整型,我在某个条件下只需要验证性别,不验证年龄了,在某个条件下两个都要验证,这个怎么做?

Rank: 8Rank: 8

地板
发表于 2017-4-17 11:01:39 |只看该作者
黑屏了0v0 发表于 2017-4-17 09:48
性别
                                

监听oncellvalidation事件
这个事件里面可以根据你的自定义条件验证,也可以强制通过或不通过验证
grid.on("cellvalidation",function(e){
    var field=e.field;
    if(field=="gender"){
          if(e.value==""&&...){
              e.isValid = false;
              e.errorText = "年龄不能为空";
          }
   }
   if(field=="age"){
       if(你的某个条件不需要验证年龄){
               e.isValid=true;  //强制通过验证
      }else{
           if(e.value==“”){
            e.isValid=false;
            e.errorText="性别不能为空";
          }
            
      }
    }
})

Rank: 2

5#
发表于 2017-4-18 11:18:27 |只看该作者
felt 发表于 2017-4-17 11:01
监听oncellvalidation事件
这个事件里面可以根据你的自定义条件验证,也可以强制通过或不通过验证
grid.o ...

嗯,我现在是这么做的,通过vtype好像是不可以的。谢谢

Rank: 8Rank: 8

6#
发表于 2017-4-18 11:46:44 |只看该作者
黑屏了0v0 发表于 2017-4-18 11:18
嗯,我现在是这么做的,通过vtype好像是不可以的。谢谢

你这已经不是标准的验证了,属于自定义规则了。
vtype是标准的验证

Archiver|普加软件

GMT+8, 2024-9-30 12:41 , Processed in 1.063371 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部