Validation 是否关闭基于查询字符串值的必填字段验证?
我有一张大约30个字段的登记表(是的……我知道……疯狂)。我需要某些类型的人需要这些字段。我想做的只是使用一个查询字符串,如example.com/user/register/?type=notrequired。如果type=notrequired,那么我想将字段设置为notrequired。这可能吗?我尝试使用jQuery验证插件,但它不起作用。。我认为内置的Drupal验证与之相冲突:(required标志是在服务器端设置的,因此我怀疑您是否能够使用javascript影响它。您必须挂接表单并在PHP中进行更改,类似于在自定义模块中进行的更改:Validation 是否关闭基于查询字符串值的必填字段验证?,validation,drupal,drupal-7,query-string,Validation,Drupal,Drupal 7,Query String,我有一张大约30个字段的登记表(是的……我知道……疯狂)。我需要某些类型的人需要这些字段。我想做的只是使用一个查询字符串,如example.com/user/register/?type=notrequired。如果type=notrequired,那么我想将字段设置为notrequired。这可能吗?我尝试使用jQuery验证插件,但它不起作用。。我认为内置的Drupal验证与之相冲突:(required标志是在服务器端设置的,因此我怀疑您是否能够使用javascript影响它。您必须挂接表单
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;
}
}
希望对我有帮助Hmmm这似乎对我不起作用。这是我第一次制作自定义模块。我猜我需要的是.info文件和.module文件,其中包含代码。我激活了模块和正确的元素名称(假设这些是我在制作字段时输入的机器可读名称)。