Doing something before wpmu_create_blog()
is called seems to be indeed hard. Not sure if I miss something …
You can hook into the action check_admin_referer
and print your own error message:
if ( is_network_admin()
&& isset ( $_REQUEST[ 'action' ] )
&& 'add-site' === $_REQUEST[ 'action' ] )
{
add_action( 'check_admin_referer', function( $action )
{
if ( 'add-blog' !== $action )
return;
die( 'Nope.' );
// inspect $_POST, do something.
// Change $_POST['blog'] to get the best matching error message
});
}