1 node.api.php hook_validate(Node $node, $form, &$form_state)

Perform node validation before a node is created or updated.

This is a node-type-specific hook, which is invoked only for the node type being affected. See Node API hooks for more information.

Use hook_node_validate() to respond to node validation of all node types.

This hook is invoked from node_validate(), after a user has finished editing the node and is submitting it. It is invoked at the end of all the standard validation steps, and before hook_node_validate() is invoked.

To indicate a validation error, use form_set_error().

Note: Changes made to the $node object within your hook implementation will have no effect. The preferred method to change a node's content is to use hook_node_presave() instead.


Node $node: The node being validated.

$form: The form being used to edit the node.

$form_state: The form state array.

Related topics


core/modules/node/node.api.php, line 1201
Hooks provided by the Node module.


function hook_validate(Node $node, $form, &$form_state) {
  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.'));