Ho trovato la convalida del modulo CodeIgniter per mostrare il messaggio di errore con il metodo load-> view, e ho perso il messaggio di errore sul campo se uso "redirect".Come inviare un modulo post-metodo allo stesso get-url in una funzione diversa in CodeIgniter?
Attualmente utilizzo una funzione per mostrare la pagina del modulo e un'altra funzione per il post del modulo.
class Users extends CI_Controller { function __construct() { parent::__construct(); } public function sign_up() { $this->load->view('users/sign_up'); } public function do_sign_up(){ $this->form_validation->set_rules('user_login', 'User Name', 'trim|required|is_unique[users.login]'); $this->form_validation->set_rules('user_email', 'Email', 'trim|required|valid_email|is_unique[users.email]'); if ($this->form_validation->run() == FALSE) { $this->load->view('users/sign_up'); }else { // save post user data to users table redirect_to("users/sign_in"); }
Quando validazione dei form fallito, URL nel browser cambiato in "/ utenti/do_sign_up", voglio mantenere lo stesso URL nella pagina di sign_up.
Utilizzare il metodo di reindirizzamento ("users/sign_up") nella convalida del modulo non riuscita manterrà lo stesso url, ma il messaggio di errore di convalida verrà perso.
in Rails, non posso usare le rotte di config in questo modo:
get "users/sign_up" => "users#signup" post "users/sign_up" => "users#do_signup"
questo sembra buono. Non ci avevo pensato in questo modo. – Mischa