新しい顧客をデータベース テーブルに追加できるフォームがあります。
customer_name フィールドは一意のフィールドです。そのため、データベースへの書き込みを試みる前に、入力フィールドでフォーム検証を実行したいと考えています。
理想的には、検証は 2 段階で行うことができます。ユーザーが顧客名を入力したときに名前が使用可能かどうかを表示する ajax ルックアップ。第二に、codeigniter の検証機能は? これを利用できない場合は、送信時にクエリを実行して、存在するかどうかを確認し、それに応じて処理できますか?
私は完全な例を広範囲にレビューしてグーグル検索しましたが、何も見つかりませんでした。運が悪かったのでいくつか試してみました。残念ながら、私の Java スクリプトと jquery のスキルは存在せず、コード イグナイターを回避しようとしています。
以下の記事を確認して試してみました: http://vortexdev.netii.net/article_17/Check_the_user_name_availability_with___Codeigniter_jQuery CodeIgniter - データベースに値が既に存在するかどうかを確認する http://www.joshuawinn.com/check-if-email -username-exists-with-codeigniter-and-jquery-validation/
私のコードは現在:
jquery リンク:
<head>
<meta charset="utf-8">
<title><?php echo $title; ?></title>
<link href="<?php echo base_url(); ?>styles/style.css" type="text/css" rel="stylesheet">
<link href="<?php echo base_url(); ?>styles/menu.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="jquery-1.9.1.min.js"></script>
<script type="text/javascript">
</script>
</head>
私のコントローラー:
function create_customer()
{
$this->form_validation->set_rules("customer_name","`Customer Name`","required|min_length[6]|xss_clean");
$this->form_validation->set_rules("address_line_1","`Address Line 1`","required|xss_clean|min_length[6]");
$this->form_validation->set_rules("address_line_2","`Address Line 2`","xss_clean|min_length[6]");
$this->form_validation->set_rules("suburb","`Suburb`","required|xss_clean|min_length[6]");
$this->form_validation->set_rules("city","`City`","required|xss_clean|min_length[6]");
$this->form_validation->set_rules("postalcode","`Postal Code`","required|xss_clean|min_length[4]|max_length[5]");
$this->form_validation->set_rules("primary_contact_name","`Contact Person Name`","required|xss_clean|min_length[6]");
$this->form_validation->set_rules("primary_contact_email","`Contact Person email`","required|valid_email|xss_clean");
$this->form_validation->set_rules("primary_contact_tell","`Contact Person tell`","required|xss_clean|min_length[10]|max_length[14]");
if ($this->form_validation->run() == FALSE){
$data["message"]="";
$data['title']="Master Data Home Page";
$this->load->view("master_data/view_master_data_header",$data);
$this->load->view("master_data/view_master_data_nav");
$this->load->view("master_data/view_content_master_data_create_customer");
$this->load->view("master_data/view_master_data_footer");
} else {
$data = array(
'customer_name' => $this->input->post('customer_name'),
'address_line_1' => $this->input->post('address_line_1'),
'address_line_2' => $this->input->post('address_line_2'),
'suburb' => $this->input->post('suburb'),
'city' => $this->input->post('city'),
'postalcode' => $this->input->post('postalcode'),
'primary_contact_name' => $this->input->post('primary_contact_name'),
'primary_contact_email' => $this->input->post('primary_contact_email'),
'primary_contact_tell' => $this->input->post('primary_contact_tell'),
);
$this->model_master_data->add_record($data);
$this->customer_created_successfully();
}
}
そして私の見解:
<?php
echo validation_errors();
?>
<br>
<?php
echo form_open('masterdata/create_customer');
?>
<table>
<tr>
<td valign="top">
<?php
echo form_label("Customer Name", "customer_name");
$data= array(
"name"=>"customer_name",
"id"=>"customer_name",
"value"=>set_value("customer_name"));
echo form_input($data);
echo form_label("Contact Name", "primary_contact_name");
$data= array(
"name"=>"primary_contact_name",
"id"=>"primary_contact_name",
"value"=>set_value("primary_contact_name"));
echo form_input($data);
echo form_label("Contact Email", "primary_contact_email");
$data= array(
"name"=>"primary_contact_email",
"id"=>"primary_contact_email",
"value"=>set_value("primary_contact_email"));
echo form_input($data);
echo form_label("Contact Tel", "primary_contact_tell");
$data= array(
"name"=>"primary_contact_tell",
"id"=>"primary_contact_tell",
"value"=>set_value("primary_contact_tell"));
echo form_input($data);
?>
</td>
<td width="20">
<td valign="top">
<?php
echo form_label("Address Line 1", "address_line_1");
$data= array(
"name"=>"address_line_1",
"id"=>"address_line_1",
"value"=>set_value("address_line_1"));
echo form_input($data);
echo form_label("Address Line 2", "address_line_2");
$data= array(
"name"=>"address_line_2",
"id"=>"address_line_2",
"value"=>set_value("address_line_2"));
echo form_input($data);
echo form_label("Suburb", "suburb");
$data= array(
"name"=>"suburb",
"id"=>"suburb",
"value"=>set_value("suburb"));
echo form_input($data);
echo form_label("City", "city");
$data= array(
"name"=>"city",
"id"=>"city",
"value"=>set_value("city"));
echo form_input($data);
echo form_label("Postal Code", "postalcode");
$data= array(
"name"=>"postalcode",
"id"=>"postalcode",
"value"=>set_value("postalcode"));
echo form_input($data);
?>
</td>
</tr>
</table>
<br>
<p>
<input type="submit" value="Add New Record">
</p>
<br>
<?php
echo form_close();
?>
いつものように、どんなアドバイスも本当に感謝しています。私が従うことができる完全な動作例またはチュートリアルを知っている場合は、アドバイスしてください。
再度、感謝します、