关闭基于查询字符串值的必填字段验证?

发布于 2024-12-10 22:09:27 字数 217 浏览 0 评论 0原文

我有一张大约有 30 个字段的注册表(是的..我知道..疯狂)。我需要某些类型的人需要其中一些字段。我想做的只是使用像 example.com/user/register/?type=notrequired 这样的查询字符串。如果 type = notrequired 那么我想使这些字段成为不需要的。这可能吗?我尝试使用 jQuery Validate 插件,但它不起作用。我认为内置的 Drupal 验证与其冲突:(

I have a registration form with about 30 fields (yes.. I know.. insanity). I need some of these fields to be required by certain types of people. What I'd like to do is just use a query string like example.com/user/register/?type=notrequired. If type = notrequired then I'd like to make to make the fields not required. Is this possible? I tried using the jQuery Validate plugin but its not working.. I'm thinking the built in Drupal validation is conflicting with it :(

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

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

发布评论

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

评论(1

帝王念 2024-12-17 22:09:27

required 标志是在服务器端设置的,所以我怀疑您是否能够使用 JavaScript 来影响它。您必须连接到表单并在 PHP 中进行更改,在自定义模块中类似这样:

function mymodule_form_user_register_form_alter(&$form, &$form_state, $form_id) {
  if (isset($_GET['element_name']) && $_GET['element_name'] == 'notrequired') {
    $form['element_name']['#required'] = FALSE;
  }
}

希望有帮助

The required flag is set server side so I doubt you'll be able to affect it using javascript. You'll have to hook into the form and make the changes in PHP, something like this in a custom module:

function mymodule_form_user_register_form_alter(&$form, &$form_state, $form_id) {
  if (isset($_GET['element_name']) && $_GET['element_name'] == 'notrequired') {
    $form['element_name']['#required'] = FALSE;
  }
}

Hope that helps

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