Implement hook_node_access based on field value
You don't need the node form to access its fields to check for conditional access. Use the field data in your node object.

if($node-&gt;my_field_name[LANGUAGE_NONE][0]['value'] == 'TESTED_VALUE') {
  return NODE_ACCESS_ALLOW;
}