Quello che invio è un'idea di lavoro, non conoscendo i campi del form e la tabella che stai usando.
il seguente codice va inserito nella finestra Validation del form nel campo Server Side Validation Code dopo aver settato a Yes il campo Enables Server Side Validation
?php
$user =& JFactory::getUser();
$db =& JFactory::getDBO();
$query = "SELECT count(*) FROM `#__tua_tabella` WHERE `campo_corso` = '".Jrequest::getVar('campo_corso','','post')."'";
$db->setQuery($query);
$nomes = $db->loadResultArray();
$numero=$nomes;
if ($numero>=20) {
return "E' stato raggiunto il numero massimo dei partecipanti. L'iscrizione non può essere accetta";
}
?>
Dico subito che si può fare meglio. Ma il tempo è tiranno.
Con questa soluzione il messaggio appare dopo l'invio del form e questo può essere un difetto, perchè compilare un form quando si sà già che il corso non ha disponibilità. Ma meglio di niente.
Ottimo sarebbe pensare un javascript che elabora preventivamente con php la tabella del database ed avverte appena si inserisce il corso che ha raggiunto il pieno. Ma ora non ho tempo per questo.
E' uno stimolo ad approfondire.