Automatic Validation Using drupal_form_submit I have a content type (call it my_type) with some required fields. One of the fields uses the email module, so if I try and create a my_type node using Drupal's built in node create page and I put 'notanemail' as the email address, the node will not be created and I get an error saying 'notanemail is not a valid email address'.

When I make a node programmatically using drupal_form_submit, it does not do the validation and the node is made even though I put incorrect values in fields.

I don't want to implement hook_validate if I can avoid it. I would rather use the build-in validation. Is this possible?
Field validation is made only against node form submission, so you need to imitate this in your code.

If you are using Drupal 6, try this solution:https://stackoverflow.com/a/6471821/1387163

For Drupal 7 solution can as following:

$node = new StdClass();

$node-&gt;type = 'my_type';
node_object_prepare($node);

// assign node field values here ...

$form_state = array (
  'node' =&gt; $node,
  'values' =&gt; (array)$node,
);
$form = drupal_get_form($node-&gt;type. '_node_form', $node);

node_form_validate($form, $form_state);

$errors = form_get_errors();

if ($errors) {
   // ...
} else {
   // ...
}