jQuery MiniUI

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

datagrid 自定义vtype怎么做 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2015-9-24 16:15:58 |只看该作者 |倒序浏览
在input中已添加校验。但是在dategrid中没有校验成功。
代码如下:<div field="xqxsj" width="28" headerAlign="center"
        allowSort="true" align="center" vtype="maxLength:10;verifyXqjg" >
        血清型数据 <input property="editor" class="mini-textbox"
         style="width:100%;"   maxLengthErrorText="10" />
       </div>

    function verifyXqjg(e){
      var record = mini.get("xjxqxjcxx").getSelected ();
      var  re = new RegExp("^[0-9a-zA-Z\_]+$");//英文及数字
                 if (e.value.length <= 5 && re.test(e.value) == false) {
                    e.errorText = "只能输入5位英文及数字";
                    e.isValid = false;
                 }
     }

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

沙发
发表于 2015-9-24 16:31:04 |只看该作者
<div ....vtype="english"...
mini.VTypes["englishErrorText"] = "请输入英文";
mini.VTypes["english"] = function (v) {
                var re = new RegExp("^[a-zA-Z\_]+$");
                if (re.test(v)) return true;
                return false;
        }
参考这个示例

Rank: 2

板凳
发表于 2015-9-25 09:44:24 |只看该作者
dforce 发表于 2015-9-24 16:31

  var englishErrorText="";
   
     mini.VTypes["english"] = function (v) {

                     var record = mini.get("xjxqxjcxx").getSelected ();
                             var re = "";
                             if(record.jcjz=="09" || record.jcjz=="10"){//1.        非伤寒沙门菌和伤寒沙门菌:可输入10位英文数字及标点
                                    
                                             re = new RegExp("^[^\u4e00-\u9fa5]+$");//不能为中文
                                 if (v.length <= 10 && re.test(v) == false) {
                                         englishErrorText = "只能输入10位英文数字及标点";
                                          return false;
                                 }
                                      
                             }else if(record.jcjz=="03"){
                                         re = new RegExp("^[\u4e00-\u9fa50-9a-zA-Z\_]+$");//中文及数字
                                 if (v.length <= 10 && re.test(v) == false) {
                                          englishErrorText = "只能输入10位中文英文及数字";
                                          return false;
                                 }
                             }else{
                                         re = new RegExp("^[0-9a-zA-Z\_]+$");//英文及数字
                                 if (v.length <= 5 && re.test(v) == false) {
                                          englishErrorText = "只能输入5位英文及数字";
                                          return false;
                                 }
                             }
                             return true;
             }
     mini.VTypes["englishErrorText"] = englishErrorText;
无法显示错误信息怎么解决?

Rank: 8Rank: 8

地板
发表于 2015-9-25 10:09:29 |只看该作者
sean_zhb 发表于 2015-9-25 09:44
var englishErrorText="";
   
     mini.VTypes["english"] = function (v) {

vtype是用作通用方法,你这里有什么行对象什么的就不要用vtype
监听表格的oncellvalidation事件去处理
http://www.miniui.com/demo/#src=datagrid/cellvalidation.html

Archiver|普加软件

GMT+8, 2024-10-7 18:25 , Processed in 1.047806 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部