繁体   English   中英

如何在Drupal 7中绕过/关闭Webform验证?

[英]How to bypass/dismiss webform validation in drupal 7?

这是我的情况:

我在drupal中使用webforms建立了一个很长的多页调查。 这些问题不是必需的,但我们不希望用户仅单击“下一页”按钮就可以跳过所有问题。

这就是我们需要的:

当用户尝试单击页面上任何空白字段的“下一页”按钮时,将显示错误或警告消息:“确定要跳过此问题吗?”,以及旁边的跳过按钮。 当用户单击跳过按钮时,该消息消失,并且他们单击下一页按钮以继续进行调查。

这是我对此的想法:

我使用了Webform验证模块来创建“非空”验证并将其应用于字段。

webform_validation_validators.inc

case 'skip_if_empty':

foreach ($items as $key => $val) {
    if (count($val) == 0) {
        drupal_set_message(t('This field is empty.'), 'warning');
        // do something, not sure about it here
    }
}

另一个想法:

我使用Dismiss模块在错误消息旁边显示一个X按钮。 我可以在X按钮上添加一些功能来绕过单击验证吗?

这是Dismiss模块的脚本:

(function ($) {    
    Drupal.behaviors.dismiss = {
        attach: function (context) { 
            $('.messages').each(function () {  
                var flag = $(this).children().hasClass('dismiss');
                if (!flag) {
                    $(this).prepend('' + Drupal.t('Close this message.') + '');
                }  
            });
            $('.dismiss').click(function () {
                $(this).parent().hide('fast');
                // some functions to bypass validation to the field?
            });
        }
    }   
})(jQuery);

我不知道//后该怎么办。 还是还有其他可行的想法?

根据您的要求

举个例子

您已创建具有以下字段的网络表单:

带有必填字段的名字带有必填字段的名字

然后下一个按钮

当用户单击下一步按钮时,由于您已填写必填字段,因此显示错误

当您在每个字段旁边显示“关闭按钮”时。

当用户单击“关闭按钮”时,您必须使用jquery或drupal ajax删除字段的“必需”属性

之后,当用户单击下一步按钮时,用户将不会收到任何必填字段验证错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM