Przez jakiś czas miałem do czynienia z problemem. Jak ustawić błędy sprawdzania poprawności za pomocą przekierowania w funkcji? Jest to kod mam w moim kontrolera:Jak wyświetlać błędy sprawdzania poprawności za pomocą przekierowania w kodzie?
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>';
}
}
I to jest kod używam w moim pliku Widok:
<? 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>';
}
?>
Czy istnieje jakiś szczególny powód, dla którego chcesz przekierować?Zwykle, gdy pokazują błędy, są one wyświetlane na stronie, na której są wprowadzane, aby można je było poprawić. "Możesz" użyć flashdata do przechowywania wyniku 'validation_errors()', który może być następnie dostępny na przekierowanym na stronę? – Gavin
Tak, oczywiście, że to wiem. Ale powód, który skłonił mnie do przekierowania, polega na tym, że formularz znajduje się na głównej stronie witryny i powinien przesłać wszystkie dane do metody o nazwie "wyślij". Po otrzymaniu jakichkolwiek błędów, powinien powrócić do poprzedniej metody "index". – Afshin
Czy metoda "wyślij" jest używana przez cokolwiek innego, niż na stronie "indeks"? – Gavin