How to Run Code Before a New Site is Created on MultiSite for Validation

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
    });
}

tech