Ho avuto a che fare con un problema per un po '. Come posso impostare gli errori di convalida utilizzando il reindirizzamento in una funzione? Questo è il codice che ho nel mio controller:Come mostrare gli errori di convalida utilizzando il reindirizzamento in codeigniter?
function send()
{
$this->form_validation->set_rules('e-mail', 'Email', 'trim|required|valid_email');
$this->form_validation->set_rules('cellphone', 'Cellphone Number', 'trim|required|is_natural');
$this->form_validation->set_message('required', '%s is required.');
$this->form_validation->set_message('valid_email', '%s is not a valid Email Address');
$this->form_validation->set_message('is_natural', '%s can only contain numbers.');
$this->form_validation->set_error_delimiters('<li>', '</li>');
if($this->form_validation->run() == FALSE)
{
redirect ('/');
}
else
{
echo '<pre>';
print_r($_POST);
echo '<pre>';
}
}
E questo è il codice che uso nel mio file di vista:
<? if (validation_errors())
{
echo '<div id="validation_errors" title="Error:">';
echo '<div class="response-msgs errors ui-corner-all"><span>Errors:</span><br /><ul>';
echo validation_errors();
echo '</ul></div>';
echo '</div>';
}
?>
C'è qualche ragione particolare per cui si desidera reindirizzare?Di solito quando mostri errori, vengono mostrati nella pagina in cui vengono inseriti in modo che possano essere corretti. È possibile "utilizzare" flashdata per archiviare il risultato di 'validation_errors()' a cui si può accedere sulla pagina reindirizzata? – Gavin
Sì, certo che lo so. Ma la ragione che mi ha spinto a reindirizzare è che il modulo si trova nella pagina principale del sito e dovrebbe inviare tutti i dati a un metodo chiamato "invia". Dopo aver ricevuto qualsiasi tipo di errore, dovrebbe tornare al precedente metodo "indice". – Afshin
Il metodo 'send' è usato da qualcos'altro, tranne che per la pagina 'index'? – Gavin