jQuery MiniUI

标题: datagrid列验证问题 [打印本页]

作者: 黑屏了0v0    时间: 2017-4-15 13:27:58     标题: datagrid列验证问题

你好,我使用datagrid的行内编辑并在一些列添加了验证,现在想要在某些特定条件下只验证某一列,其他列不验证,请问这个怎么实现?

作者: felt    时间: 2017-4-17 09:40:15

http://www.miniui.com/demo/#src=datagrid/cellvalidation.html
参考示例,验证需要写在列上,不是编辑器上
作者: 黑屏了0v0    时间: 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>
还是不明白,就比如这个,性别验证非空,年龄验证非空+整型,我在某个条件下只需要验证性别,不验证年龄了,在某个条件下两个都要验证,这个怎么做?
作者: felt    时间: 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="性别不能为空";
          }
            
      }
    }
})
作者: 黑屏了0v0    时间: 2017-4-18 11:18:27

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

嗯,我现在是这么做的,通过vtype好像是不可以的。谢谢
作者: dforce    时间: 2017-4-18 11:46:44

黑屏了0v0 发表于 2017-4-18 11:18
嗯,我现在是这么做的,通过vtype好像是不可以的。谢谢

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




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2