基本的に 3 つのフォームを表示する小さなアプリケーションを構築しています...最初のフォームはオプションで、2 番目はオプションではなく、3 番目はオプションではありません。各フォームを個別の url(コントローラー) にしたいと思います。CodeIgniter form_validation のドキュメントを読んでいると、フォームは検証のために自分自身にのみ送信できるようです。その場合、フォームは同じページに表示され続けます...彼は基本的に私が持っているものです...そして私がやりたいことにコメントしました...
class Index extends CI_Controller {
function __construct()
{
parent::__construct();
}
function index()
{
//load front page that contains first form...
$content['title'] = 'Home';
$content['view'] = 'pages/index';
$this->load->view('template/default',$content);
}
function step_two()
{
//recieve information from front page. validate form. If validation is
//successful continue to step_two(url) if it fails redirect
//to front page with error...
$this->form_validation->set_rules('serial', 'Serial Number', 'required');
if ($this->form_validation->run() == FALSE)
{
//return to front page...
}else{
//do necessary work and load step_two view
}
}
}
?>
これは私の考えからの抜粋です。しかし、私が気づいているのは、フォームがそれ自体に送信されない限り、フォームの検証を行うことができないということです。何か案は?フォームを検証してから、新しい URL/関数にリダイレクトする必要がありますか?
みんなありがとう...