Я использую проверку CodeIgniter и jQuery. У меня есть форма регистрации в этих полях Firstname, Lastname, email, mobile
. Проверка Jquery работает отлично. Я использую удаленный метод, чтобы проверить, существует ли идентификатор электронной почты в базе данных, которая также работает При регистрации не возникает проблем в форме.
Заходите на обновление записей
Я использую одну и ту же проверку jquery для форм "Регистрация" и "Обновление". Даже проверка правильности также работает, но есть некоторая проблема в удаленном методе.
Я не обновил свой адрес электронной почты, а затем нажмите кнопку отправки, на которой отображается сообщение «Идентификатор электронной почты уже существует». Что касается процесса, это правильно, но есть ли другой способ, без обновления электронной почты удаленный метод не должен вызывать? или если пользователь обновляет поле электронной почты, тогда удаленный метод вызывает обновление? или я должен проверить электронную почту перед обновлением записи?
или я должен использовать отдельную проверку для обновления?
Каков наилучший способ использования? Любая другая идея?
Проверка Jquery
$("#emp_register").validate({
// Specify the validation rules
rules: {
firstname:{
required: true,
minlength:3,
maxlength:50
},
lastname:{
required: true,
minlength:3,
maxlength:50
},
email: {
required: true,
email:true,
remote: {
url: baseUrl + "/Employee_control/checkemail_exist",
type: "post",
data: {
email: function () {
return $("#email").val();
}}
}
},
mobileno: {
required: true,
number:true,
minlength:10,
maxlength: 10
}
},
messages: {
email: {remote: "This email is already registered!"
}
},
submitHandler: function(form) {
form.submit();
}
});
Регистрация
public function employee_register(){
$this->form_validation->set_error_delimiters('<div class="error">', '</div>');
$this->form_validation->set_rules('firstname', 'Firstname', 'trim|required|min_length[3]|max_length[25]');
$this->form_validation->set_rules('lastname', 'Lastname', 'trim|required|min_length[3]|max_length[25]');
$this->form_validation->set_rules('email', 'Email', 'required');
$this->form_validation->set_rules('mobileno', 'Mobile no', 'trim|required|regex_match[/^[0-9]{10}$/]');
if ($this->form_validation->run() == FALSE)
{
$this->index();
}
else
{
$data = array(
'firstname'=>$this->input->post('firstname');,
'lastname'=>$this->input->post('lastname'),
'email_id'=>$this->input->post('email'),
'mobileno'=>$this->input->post('mobileno'),
);
$secure_data = $this->security->xss_clean($data);
$this->db->insert('tbl_employee',$secure_data);
redirect("Employee_control/index");
}
}
Обновление
public function update_employee_info(){
$update_key_id=$this->encryption->decrypt(base64_decode($this->input->get('key')));
$this->form_validation->set_error_delimiters('<div class="error">', '</div>');
$this->form_validation->set_rules('firstname', 'Firstname', 'trim|required|min_length[3]|max_length[25]');
$this->form_validation->set_rules('lastname', 'Lastname', 'trim|required|min_length[3]|max_length[25]');
$this->form_validation->set_rules('email', 'Email', 'required');
$this->form_validation->set_rules('mobileno', 'Mobile no', 'trim|required|regex_match[/^[0-9]{10}$/]');
if ($this->form_validation->run() == FALSE)
{
$this->load->view('employee/employee_edit');
}
else
{
$updateData = array(
'firstname'=>$this->input->post('firstname'),
'lastname'=>$this->input->post('lastname'),
'email_id'=>$this->input->post('email'),
'mobileno'=>$this->input->post('mobileno')
);
$secure_updateData = $this->security->xss_clean($updateData);
$this->db->where('id', $update_key_id);
$this->db->update('tbl_employee', $secure_updateData);
redirect("Employee_control/employee_list");
}
}