首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bootbox验证

Bootbox验证
EN

Stack Overflow用户
提问于 2013-08-25 08:41:00
回答 2查看 12.3K关注 0票数 3

我正在尝试创建一个使用Bootbox的模式。我有模式弹出窗口,并要求您填写一些数据。然后我尝试做验证,这样当他们单击保存时,它会进行检查,以确保字段已填写。

如果验证失败,如何防止模式在单击保存时关闭?

代码语言:javascript
复制
bootbox.dialog(header + content, [{
    "label": "Save",
    "class": "btn-primary",
    "callback": function() {

        title = $("#title").val();
        description = $("#description").val();
        icon = $("#icon").val();
        href = $("#link").val();
        newWindow = $("#newWindow").val();
        type = $("#type").val();
        group = $("#group").val();

            if (!title){ $("#titleDiv").attr('class', 'control-group error'); } else {
                addMenu(title, description, icon, href, newWindow, type, group);
            }
    }
}, {
    "label": "Cancel",
    "class": "btn",
    "callback": function() {}
}]);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-25 08:47:45

我认为您可以在"Save“按钮回调中返回false

如下所示:

代码语言:javascript
复制
bootbox.dialog(header + content, [{
    "label": "Save",
    "class": "btn-primary",
    "callback": function() {

        title = $("#title").val();
        description = $("#description").val();
        icon = $("#icon").val();
        href = $("#link").val();
        newWindow = $("#newWindow").val();
        type = $("#type").val();
        group = $("#group").val();

            if (!title){ 
                $("#titleDiv").attr('class', 'control-group error'); 
                return false; 
            } else {
                addMenu(title, description, icon, href, newWindow, type, group);
            }
    }
}, {
    "label": "Cancel",
    "class": "btn",
    "callback": function() {}
}]);
票数 11
EN

Stack Overflow用户

发布于 2019-01-05 19:23:03

正如@AjeetMalviya评论的那样,@bruchowski发布的解决方案在以这种方式使用return false;时不会关闭Bootbox。当单击Cancel按钮时,该回调返回null;当单击OK按钮时,该回调返回一个空字符串。

代码语言:javascript
复制
<script>
    var bb = bootbox.prompt({
        title: 'Input Required',
        onEscape: true,
        buttons: {
            confirm: {
                label: '<svg><use xlink:href="/icons.svg#check" /></svg> OK'
            },
            cancel: {
                label: '<svg><use xlink:href="/icons.svg#x" /></svg> Cancel',
                className: 'btn-secondary'
            }
        },
        inputType: 'password',
        callback: function (result) {
            //result is null when Cancel is clicked
            //empty when OK is clicked
            if (result === null) {
                return;
            } else if (result === '') {
                bb.find('.bootbox-input-password').addClass('input-validation-error');
                return false;
            }

            console.log(result);
        }
    });

    bb.init(function () {
        //do stuff with the bootbox on startup here
    });
</script>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18424573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档