jQueryUI 对话框与标准表单验证插件集成;最佳实践/操作方法?

发布于 2024-12-10 12:37:37 字数 1721 浏览 0 评论 0原文

我想使用标准向 UI 对话框添加基本表单验证。 http: //bassistance.de/jquery-plugins/jquery-plugin-validation/ 此调用在其他地方工作的地方(我无法使其在对话框中工作).. $("#FY12-Q1-AM-ALL-ECMC-VML-ProfilingForm").validate();

提交对话框似乎没有捕获验证。你们用什么方法来解决这个问题?我想这一定是一个相当常见的问题 -

谢谢

$('#lowValueSurvey').dialog({
                autoOpen: false,
                modal: true,
                width: 900,
                resizable: false,
                show:"puff",
                hide:"puff",
                close:"puff",
                open: function(event, ui) {
                    performElqLookups('#FY12-Q1-AM-ALL-ECMC-VML-ProfilingForm');
                },
                buttons: {
                    'Submit': function() {
                        $("#FY12-Q1-AM-ALL-ECMC-VML-ProfilingForm").validate();
                        $.ajax({
                                    type: "POST",
                                    async: false,
                                    url:  $("#FY12-Q1-AM-ALL-ECMC-VML-ProfilingForm").attr('action'),
                                    data: $("#FY12-Q1-AM-ALL-ECMC-VML-ProfilingForm").serialize()
                                });
                        setCookie(lowValueCookieName, -1, 1000);
                        $(":button:contains('Submit')").hide();
                        $("#lowValueSurvey").load('/longstoryshort/forms/confirmation.html');
                        $("#lowValueSurvey").dialog({
                                    close: {effect: "fadeOut", duration: 5000}
                                });
                    }
                }
            });

I'd like to add basic form validation to a UI Dialog using the standard.. http://bassistance.de/jquery-plugins/jquery-plugin-validation/
Where this call works elsewhere (I can't make it work within a Dialog)..
$("#FY12-Q1-AM-ALL-ECMC-VML-ProfilingForm").validate();

The Dialog Submit doesn't seem to catch the validation.. What approach have you guys used to solve the problem? I figure it must be a fairly common one -

thanks

$('#lowValueSurvey').dialog({
                autoOpen: false,
                modal: true,
                width: 900,
                resizable: false,
                show:"puff",
                hide:"puff",
                close:"puff",
                open: function(event, ui) {
                    performElqLookups('#FY12-Q1-AM-ALL-ECMC-VML-ProfilingForm');
                },
                buttons: {
                    'Submit': function() {
                        $("#FY12-Q1-AM-ALL-ECMC-VML-ProfilingForm").validate();
                        $.ajax({
                                    type: "POST",
                                    async: false,
                                    url:  $("#FY12-Q1-AM-ALL-ECMC-VML-ProfilingForm").attr('action'),
                                    data: $("#FY12-Q1-AM-ALL-ECMC-VML-ProfilingForm").serialize()
                                });
                        setCookie(lowValueCookieName, -1, 1000);
                        $(":button:contains('Submit')").hide();
                        $("#lowValueSurvey").load('/longstoryshort/forms/confirmation.html');
                        $("#lowValueSurvey").dialog({
                                    close: {effect: "fadeOut", duration: 5000}
                                });
                    }
                }
            });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凡尘雨 2024-12-17 12:37:37

我相信 validate 仅初始化验证。您必须调用 .valid() 来检查验证。你可以尝试这样做 return false;如果 .valid() 返回 false 则停止函数传播。

I believe validate only initializes the validation. You have to call .valid() to check for validation. You could try doing return false; to stop the function propagation if .valid() returns false.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文