jQuery MiniUI

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

ajax前台验证是否重复失败 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2013-7-11 14:53:36 |只看该作者 |倒序浏览
    function onIDCardsValidation(e) {
        if (e.isValid && e.value.length > 0) {
            var pattern = /\d*/;
            if (e.value.length < 15 || e.value.length > 18 || pattern.test(e.value) == false) {
                e.errorText = "必须输入15~18位数字";
                e.isValid = false;
            } else {
            $.ajax({
                url: "../../Server/Common/GetCommon.aspx",
                data: { data: e.value },
                type: 'POST',
                cache: false,
                success: function (text) {
                    var result = mini.decode(text, true);
                    if (result.success == false) {
                        e.errorText = "必须输入15~18位数字";
                        e.isValid = false;
                    }

                },
                error: function (jqXHR, textStatus, errorThrown) {
                    e.isValid = false;
                }
            });
            }
        }
    }好像不行啊

Rank: 8Rank: 8

沙发
发表于 2013-7-11 15:21:42 |只看该作者

Rank: 3Rank: 3

板凳
发表于 2013-7-11 15:29:15 |只看该作者
factory 发表于 2013-7-11 15:21
ajax处理服务端错误:http://miniui.com/bbs/forum.php?mod=viewthread&tid=9190&extra=page%3D1

斑竹其实我是想前台ajax验证新建用户时登陆名是否重复的功能。ajax返回时
e.errorText = "必须输入15~18位数字";
                        e.isValid = false;
再这样添加验证失败提示就没效果了

Rank: 8Rank: 8

地板
发表于 2013-7-12 09:54:21 |只看该作者
lvbin 发表于 2013-7-11 15:29
斑竹其实我是想前台ajax验证新建用户时登陆名是否重复的功能。ajax返回时
e.errorText = "必须输入15~18 ...

验证是否正常?只是提示没效果吗?

Rank: 3Rank: 3

5#
发表于 2013-7-12 10:29:19 |只看该作者
factory 发表于 2013-7-12 09:54
验证是否正常?只是提示没效果吗?

没有提示效果

Rank: 8Rank: 8

6#
发表于 2013-7-12 10:33:32 |只看该作者
lvbin 发表于 2013-7-12 10:29
没有提示效果

我们看下

Rank: 3Rank: 3

7#
发表于 2013-7-12 11:29:43 |只看该作者
factory 发表于 2013-7-12 10:33
我们看下

<input id="txtCardNo" name="txtCardNo"  class="mini-textbox" onvalidation="onIDCardsValidation" />

    function onIDCardsValidation(e) {
        if (e.isValid && e.value.length > 0) {
            var pattern = /\d*/;
            if (e.value.length < 15 || e.value.length > 18 || pattern.test(e.value) == false) {
                e.errorText = "必须输入15~18位数字";
                e.isValid = false;
            } else {
                $.ajax({
                    url: "../../Server/Common/GetCommon.aspx?type=sfz",
                    data: { data: e.value },
                    type: 'POST',
                    cache: false,
                    success: function (text) {
                        var result = mini.decode(text, true);

                        e.errorText = "必须输入15~18位数字";
                        e.isValid = false;
                    },
                    error: function (jqXHR, textStatus, errorThrown) {
                        e.isValid = false;
                    }
                });
            }
        }
    }

json返回的都是false的

Rank: 8Rank: 8

8#
发表于 2013-7-12 14:36:40 |只看该作者
lvbin 发表于 2013-7-12 11:29
function onIDCardsValidation(e) {
        if (e.isValid && e.value.length > 0) {
           ...

你这个ajax,只要交互成功,就会给你设置为e.isValid
是正确的啊

Rank: 3Rank: 3

9#
发表于 2013-7-12 14:49:04 |只看该作者
factory 发表于 2013-7-12 14:36
你这个ajax,只要交互成功,就会给你设置为e.isValid
是正确的啊

但是我这边就是没有验证不通过的提示

Rank: 8Rank: 8

10#
发表于 2013-7-12 15:50:09 |只看该作者
lvbin 发表于 2013-7-12 14:49
但是我这边就是没有验证不通过的提示

表格的cellvalidtion事件做的吗?
e.errorText不显示,这个是个小BUG,我们处理下

Archiver|普加软件

GMT+8, 2025-7-6 19:29 , Processed in 1.014228 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部