Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal 6 Drupal:如何在hook_用户验证操作中区分新用户注册和用户密码更新?_Drupal 6 - Fatal编程技术网

Drupal 6 Drupal:如何在hook_用户验证操作中区分新用户注册和用户密码更新?

Drupal 6 Drupal:如何在hook_用户验证操作中区分新用户注册和用户密码更新?,drupal-6,Drupal 6,我正在使用hook_user validate操作根据我的业务逻辑验证用户注册信息 我希望在注册和更改密码时运行单独的逻辑 但我无法区分这两种方法——它们都通过验证,并且为它们运行相同的代码 如何区分hook\u user中的validate op中的两个?和$form\u id if ( ($form_id == 'user_profile_form' && arg(3) == NULL) { // validation code for updating } el

我正在使用hook_user validate操作根据我的业务逻辑验证用户注册信息

我希望在注册和更改密码时运行单独的逻辑

但我无法区分这两种方法——它们都通过验证,并且为它们运行相同的代码

如何区分hook\u user中的validate op中的两个?

和$form\u id

if ( ($form_id == 'user_profile_form' && arg(3) == NULL) {

  // validation code for updating 

}

elseif ($form_id == 'user_register') ) {

 // validation code for registering

}

在Drupal 7中,您可以尝试以下操作:

/**
 * Implements hook_form_FORM_ID_alter().
 * Form ID: user_profile_form
 */
function foo_form_user_profile_form_alter($form, &$form_state) {
  // Set a custom form validate and submit handlers.
  $form['#validate'][] = 'foo_form_user_profile_form_validate';
  $form['#submit'][] = 'foo_form_user_profile_form_submit';
}

/**
 * Implements hook_form_FORM_ID_alter().
 * Form ID: user_register_form
 */
function foo_form_user_register_form_alter($form, &$form_state) {
  if ($form['#user_category'] == 'account') {
    // Set a custom form validate and submit handlers.
    $form['#validate'][] = 'foo_form_user_register_validate';
    $form['#submit'][] = 'foo_form_user_register_submit';
  }
}