<?php

$data = '16/09/2016';

//Reverte para formato americano
$data_db = implode('-', array_reverse(explode('/', $data)) );


try {

  //Espera que o formato seja 0000-00-00 para gravar no Banco
  if (!preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/",$data_db))
  {
      throw new Exception("Esta data é inválida", 1);
      
  }


} catch (Exception $e) {
   echo $e->getMessage();
}