[英]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.