Solved! Just add the vaidation in PHP and simply ECHO error messages:
function smail(){
$nome = $_REQUEST['nome'];
$cognome = $_REQUEST['cognome'];
$email = $_REQUEST['email'];
$telefono = $_REQUEST['telefono'];
$numero = $_REQUEST['numero'];
$messaggio= $_REQUEST['messaggio'];
$prod_mail = $_REQUEST['prod_mail'];
$prodotto = $_REQUEST['prodotto'];
$confezione = $_REQUEST['confezione'];
$prezzo = $_REQUEST['prezzo'];
if($nome === '') {
$nome = "<span style="color:#8c8c8c;">Nome non inserito</span>";
};
if($cognome === '') {
$cognome = "<span style="color:#8c8c8c;">Cognome non inserito</span>";
};
if($telefono === '') {
$telefono = "<span style="color:#8c8c8c;">Telefono non inserito</span>";
};
if($messaggio === '') {
$messaggio = "<span style="color:#8c8c8c;">Nessun messaggio</span>";
};
$subject = "Ordine dal sito";
$email_body = "<h3>Hai ricevuto un nuovo ordine</h3>
<p>
Contatta il cliente al suo indirizzo email<br>per procedere con l'ordine:<strong> <a href="https://wordpress.stackexchange.com/questions/398731/mailto:" . $email . "">" . $email . "</a></strong>
</p>
<br>
<h4>Prodotto</h4>
<p>Prodotto: " . $prodotto . "<br>
Confezione: " . $confezione . "<br>
Prezzo unitario: " . $prezzo . "<br>
Quantità: " . $numero . "
</p>
<h4>Cliente</h4>
<p>Nome: ". $nome . "<br>
Cognome: " . $cognome . "<br>
Email: " . $email . "<br>
Telefono: " . $telefono . "
</p>
<p><strong>Messaggio</strong><br>
" . $messaggio. "
</p><br><br>";
$to = $prod_mail;
$headers = array('Content-Type: text/html; charset=UTF-8;');
if ((!empty($_REQUEST['nome'])) && (!preg_match("/^[a-zA-Z-' ]*$/",($_REQUEST['nome'])))) {
echo "<p>Sono ammessi solo caratteri nel campo nome.</p>";
wp_die();
}
if ((!empty($_REQUEST['cognome'])) && (!preg_match("/^[a-zA-Z-' ]*$/",($_REQUEST['cognome'])))) {
echo "<p>Sono ammessi solo caratteri nel campo cognome.</p>";
wp_die();
}
if (!filter_var(($_REQUEST['email']), FILTER_VALIDATE_EMAIL)) {
echo "<p>Inserisci un'email valida.</p>";
wp_die();
}
if ((!empty($_REQUEST['telefono'])) && (!preg_match("/^[0-9-+.' ]*$/",($_REQUEST['telefono'])))) {
echo "<p>Caratteri non validi nel campo telefono.</p>";
wp_die();
}
if (!preg_match("/^\d+$/",($_REQUEST['numero']))) {
echo "<p>Inserisci la quantità.</p>";
wp_die();
}
if ((!empty($_REQUEST['messaggio'])) && (!preg_match("/^[a-zA-Z-.,' ]*$/",($_REQUEST['messaggio'])))) {
echo "<p>Caratteri non validi nel campo messaggio.</p>";
wp_die();
}
else {
wp_mail($to, $subject, $email_body, $headers);
echo 'ok';
wp_die();
};
}
add_action( ‘wp_ajax_smail’, ‘smail’ );
add_action( ‘wp_ajax_nopriv_smail’, ‘smail’ );