Я пытаюсь добавить запись в свою базу данных и проверить свою форму. Однако мой form_validation всегда возвращает false.
Это моя точка зрения. Я использую модальное окно для хранения этой формы.
<form class="form-horizontal" role="form" method="GET" action="<?php echo base_url('Contacts_/addcontact'); ?>">
<div class="form-group">
<label for="usr">First Name</label>
<input type="text" class="form-control" name="inputFirstName" placeholder="First Name">
</div>
<div class="form-group">
<label for="usr">Last Name</label>
<input type="text" class="form-control" name="inputLastName" placeholder="Last Name">
</div>
<div class="form-group">
<label for="usr">Contact Number</label>
<input type="text" class="form-control" name="inputContactNumber" placeholder="Contact Number">
</div>
<div class="form-group">
<label for="usr">Address:</label>
<input type="text" class="form-control" name="inputAddress" placeholder="Address">
</div>
<div class="form-group">
<label for="usr">Email Address:</label>
<input type="text" class="form-control" name="inputEmailAddress" placeholder="Contact Number">
</div>
<div class="form-group">
<label for="usr">Picture:</label>
<input type="file" class="form-control" name="inputPicture"></br>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary" name="action">Add</button>
</div>
</form>
это мой контроллер
public function addcontact(){
$this->load->helper('url');
$this->load->model('contacts');
$this->load->library('form_validation');
$first_name = $this->input->get('inputFirstName');
$last_name = $this->input->get('inputLastName');
$contact_number = $this->input->get('inputContactNumber');
$address = $this->input->get('inputAddress');
$email_address = $this->input->get('inputEmailAddress');
$this->form_validation->set_rules($first_name, 'First Name', 'required|max_length[35]');
$this->form_validation->set_rules($last_name, 'Last Name', 'required|max_length[35]');
$this->form_validation->set_rules($contact_number, 'Contact Number', 'required|exact_length[11]|numeric');
$this->form_validation->set_rules($address, 'Address', 'required|min_length[5]|max_length[255]');
$this->form_validation->set_rules($email_address, 'Email Address', 'required|min_length[10]|max_length[255]|valid_email');
if($this->form_validation->run() == TRUE){
if(!isset($_GET['inputPicture'])){
$this->contacts->addContactsNoPic($first_name, $last_name, $contact_number, $address, $email_address);
}
else{
$image = 'assets/images/' . $_GET['inputPicture'];
$this->contacts->addContacts($first_name, $last_name, $contact_number, $address, $email_address, $image);
}
$data['title'] = 'Address Book';
$data['contacts_info'] = $this->contacts->getContacts();
$this->load->view('home', $data);
}
else{
$data['title'] = 'Address Book';
$data['err_add'] = 1;
$data['contacts_info'] = $this->contacts->getContacts();
$this->load->view('home', $data);
}
}
А это моя модель. У меня есть две функции: одна, если вы не ввели изображение, и одна, если вы этого не сделали.
function addContacts($first_name, $last_name, $contact_number, $address, $email_address, $image){
$new_contact_data = array(
'first_name' => $first_name,
'last_name' => $last_name,
'contact_number' => $contact_number,
'address' => $address,
'email_address' => $email_address,
'picture' => $image,
);
$this->db->insert('contacts', $new_contact_data);
}
function addContactsNoPic($first_name, $last_name, $contact_number, $address, $email_address){
$new_contact_data = array(
'first_name' => $first_name,
'last_name' => $last_name,
'contact_number' => $contact_number,
'address' => $address,
'email_address' => $email_address,
);
$this->db->insert('contacts', $new_contact_data);
}
Спасибо вам за помощь
PS: я даже пытался установить для всех своих правил просто «обязательный», но моя form_validation всегда возвращает false, независимо от того, что я ввожу.
Я также проверил свои значения $this->input->get, и они в порядке, они получают значения, которые я ввел.
<?php echo validation_errors(); ?>
в свое представление, чтобы вы могли увидеть, какое поле не проходит проверку. Проверка состоит из двух частей: 1) хорошая часть, когда все проходят 2) полезная часть, когда вы сообщаете пользователю, что не так - person RiggsFolly   schedule 17.09.2015die()
в коде. - person Tpojka   schedule 17.09.2015die('asd')
из кода? - person Tpojka   schedule 17.09.2015die('asd')
из кода, который спрашивает вас в третий раз? - person Tpojka   schedule 17.09.2015