Ich habe seit einiger Zeit mit einem Problem zu tun. Wie kann ich die Validierungsfehler mit Redirect in einer Funktion einstellen? Dies ist der Code, den ich in meinem Controller haben:Wie Validierungsfehler mit Redirect in Codeigniter zeigen?
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>';
}
}
Und das ist der Code, den ich in meiner Ansicht Datei:
<? 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>';
}
?>
Gibt es einen bestimmten Grund, warum Sie umleiten möchten?Wenn Fehler angezeigt werden, werden sie normalerweise auf der Seite angezeigt, in der sie eingegeben wurden, damit sie korrigiert werden können. Sie könnten "flashdata" verwenden, um das Ergebnis von 'validation_errors()' zu speichern, auf das dann auf der umgeleiteten Seite zugegriffen werden kann? – Gavin
Ja, natürlich weiß ich das. Aber der Grund, warum ich umgeleitet wurde, ist, dass das Formular auf der Hauptseite der Website ist und alle Daten an eine Methode namens "send" senden soll. Nachdem irgendwelche Arten von Fehlern erhalten wurden, sollte es zu der vorherigen Methode "Index" zurückkehren. – Afshin
Wird die Methode 'send' von etwas anderem als der' index'-Seite verwendet? – Gavin