jQuery MiniUI

标题: onvalidation与vtype好像不能并存 [打印本页]

作者: veryfine    时间: 2013-4-16 21:13:34     标题: onvalidation与vtype好像不能并存

我在textbox里加了vtype和onvalidation,我希望达到的目的是先验证vtype再验证onvalidation。
我按照DEMO的写法如下操作(http://miniui.com/demo/index.html#src=form/rules.html):
<input class="mini-textbox" name="pay_amount" vtype="float" required="true" style="width:100%;"/>

if (e.isValid) {  // 我的理解是系统先已经进行了vtype的验证,不然的话这里判断e.isValid似乎就没有什么意义!
                                var form = new mini.Form("#editform");
                                var operType = form.getField("oper_type").getValue();
                                if (operType == "B" && (e.value == "" || parseInt(e.value) < 0)) {
                                        e.errorText = "进货操作此处数值必须大于或等于0";
                            e.isValid = false;
                                }
                                if (operType == "T" && (e.value == "" || parseInt(e.value) > 0)) {
                                        e.errorText = "退货操作此处数值必须小于或等于0";
                            e.isValid = false;
                                }
                        }


经调试发现e.isValid一直保持为true,如果我在文本框输入:-f20,首先vtype的验证就通不过。

如果miniui的验证方法支持系统和vtype和自定义方法混合验证,是不是我的方法有不对的地方?

作者: niko    时间: 2013-4-16 21:19:40

支持混合验证的。
你需要监听处理onvalidation事件
作者: veryfine    时间: 2013-4-17 15:14:16

niko 发表于 2013-4-16 21:19
支持混合验证的。
你需要监听处理onvalidation事件

我加了的,上面是我写错了,事件处理代码就是我上面写出来的。
作者: niko    时间: 2013-4-17 15:44:35

  1. <div id="form1">
  2.     <input name="username" onvalidation="onUserNameValidation" vtype="email" class="mini-textbox" />
  3.     <br />
  4.     <input value="Login" type="button" onclick="submitForm()" />
  5. </div>
  6. <script type="text/javascript">
  7.     mini.parse();

  8.     function submitForm() {
  9.             
  10.         var form = new mini.Form("#form1");

  11.         form.validate();
  12.         if (form.isValid() == false) return;

  13.         alert("验证成功");
  14.     }

  15.     function onUserNameValidation(e) {
  16.         if (e.isValid) {
  17.             if (e.value.indexOf("@abc.com") == -1) {
  18.                 e.isValid = false;
  19.                 e.errorText = "必须是@abc.com";
  20.             }
  21.         }
  22.     }
  23. </script>
复制代码
参考如上代码示例,vtype和onvalidation是可以共存验证的




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