[英]Codeigniter form validation class
我的本地開發人員設置發生了一件有趣的事情。 使用codeigniter,我有一個表格應該模擬將用戶的一些信息存儲在數據庫中。 此時,我還沒有數據庫設置,但我只希望表單在驗證完成后將我發送到成功頁面。 但是,當我提交表單時,它又回來了,並告訴我名稱字段為空,並且我從未獲得成功頁面。 我在這里想念什么嗎? 請查收並告訴我是否遺漏了一些東西! 這是控制器中處理表格的功能。
function showsupport()
{
$this->form_validation->set_rules('supportername','Name','trim|required|max_length[30]');
$this->form_validation->set_rules('supporteremail','Email Address','trim|required|valid_email');
$this->form_validation->set_rules('pledgedate','Pledge Date','trim|required');
$this->form_validation->set_rules('messagetxt','Your Message','trim|required|xss_clean');
if($this->form_validation->run() == FALSE)
{
$this->template->write_view('content','supportus');
$this->template->render();
} else {
$this->template->write('content','Your submission was a success');
$this->template->render();
}
}
<div id="supportform" class="formblock">
<?php
$formdata = array('id'=>'suppform');
echo form_open('homepage/showsupport',$formdata);
$namedata = array('name'=>'supportname','id'=>'supportname','size'=>'30','max_length'=>'25');
echo '<label for="supportername">Your Name:'.form_input($namedata,set_value('supportname')).'</label><br /><br />';
$emaildata = array('name'=>'supporteremail','id'=>'supporteremail','size'=>'30','max_lenth'=>'25');
echo '<label for="supporteremail">Email Address:'.form_input($emaildata,set_value('suppoteremail')).'</label><br /><br />';
$pledgedata = array('name'=>'pledgedate','id'=>'pledgedate','size'=>'30','max_length'=>'20');
echo '<label for="pledgedate">Today\'s Date:'.form_input($pledgedata,set_value('pledgedate')).'</label><br /><br />';
$msgdata = array('name'=>'messagetxt','id'=>'messagetxt','col'=>'2','rows'=>'8');
echo '<label for="messagetext">Your Pledge:'.form_textarea($msgdata).'</label><br />';
$submitdata = array('name'=>'submitbtn','id'=>'submitbtn','value'=>'Send');
echo '<label for="submitbutton">'.form_submit($submitdata).'</label><br />';
echo form_close();
?>
</div>
<div id="errorsechoed">
<div class="ui-widget">
<div class="ui-state-error ui-corner-all" style="padding: 0 .7em; border: none;">
<?php echo validation_errors('<p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>');?>
這是它本身的形式。 我必須在幾個小時內做一個演講,而這份表格的工作是關鍵。 謝謝大家的幫助。
Ë
您的表單驗證規則和view html元素之間的名稱不匹配。
驗證規則
$this->form_validation->set_rules('supportername','Name','trim|required|max_length[30]');
HTML
$namedata = array('name'=>'supportname','id'=>'supportname','size'=>'30','max_length'=>'25');
echo '<label for="supportername">Your Name:'.form_input($namedata,set_value('supportname')).'</label><br /><br />';
將驗證規則名稱更改為“ supportname”
要么
將'name'=>'supportname'更改為'name'=>'supportername'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.