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
<div id="form1">
<input name="username" onvalidation="onUserNameValidation" vtype="email" class="mini-textbox" />
<br />
<input value="Login" type="button" onclick="submitForm()" />
</div>
<script type="text/javascript">
mini.parse();
function submitForm() {
var form = new mini.Form("#form1");
form.validate();
if (form.isValid() == false) return;
alert("验证成功");
}
function onUserNameValidation(e) {
if (e.isValid) {
if (e.value.indexOf("@abc.com") == -1) {
e.isValid = false;
e.errorText = "必须是@abc.com";
}
}
}
</script>
复制代码
参考如上代码示例,vtype和onvalidation是可以共存验证的
欢迎光临 jQuery MiniUI (http://miniui.com/discuss/)
Powered by Discuz! X2