Same name and namespace in other branches
  1. 4.6.x developer/hooks/node.php \hook_validate()
  2. 5.x developer/hooks/node.php \hook_validate()
  3. 6.x developer/hooks/node.php \hook_validate()
  4. 7.x modules/node/node.api.php \hook_validate()

Verify a node editing form.

This is a hook used by node modules. It is called to allow the module to verify that the node is in a format valid to post to the site. Errors should be set with form_set_error().

Parameters

$node: The node to be validated.

Return value

None.

To validate nodes of all types (not just nodes of the type(s) defined by this module), use hook_nodeapi() instead.

Changes made to the $node object within a hook_validate() function will have no effect. The preferred method to change a node's content is to use hook_submit() or hook_nodeapi($op='submit') instead. If it is really necessary to change the node at the validate stage, you can use function form_set_value().

For a detailed usage example, see node_example.module.

Related topics

38 functions implement hook_validate()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

aggregator_form_category_validate in modules/aggregator.module
Validate aggregator_form_feed form submissions.
aggregator_form_feed_validate in modules/aggregator.module
Validate aggregator_form_feed form submissions.
aggregator_page_list_validate in modules/aggregator.module
block_admin_configure_validate in modules/block.module
block_box_add_validate in modules/block.module

... See full list

2 invocations of hook_validate()
user_edit_validate in modules/user.module
user_register_validate in modules/user.module

File

developer/hooks/node.php, line 307
These hooks are defined by node modules, modules that define a new kind of node.

Code

function hook_validate($node) {
  if (isset($node->end) && isset($node->start)) {
    if ($node->start > $node->end) {
      form_set_error('time', t('An event may not end before it starts.'));
    }
  }
}