【发布时间】:2017-11-05 03:21:00
【问题描述】:
如果我考虑这样的条件,codeigniter 表单验证库中是否有办法确定人员数据的重复条目: 名字、中间名、姓氏、出生日期在 db 中匹配。
例如,我需要检查此人是否已经存在,如果数据与来自认为相同的数据库匹配:名字、中间名、姓氏和出生日期。
我不能在这种情况下使用is_unique 每种输入类型,因为如果这个人的名字、姓氏和中间名相同但生日不同怎么办。如何在 codeigniter 中进行这样的表单验证?
类似这样的查询:
SELECT COUNT(patient_id) AS patient_id FROM patients WHERE patients.firstname = "" AND patients.middlename = "" AND patients.lastname = "" AND patients.birthdate = ""
如果查询结果大于 1 ,则认为是重复条目。如何在 codeigniter 表单验证中做到这一点?
这是我在 Controller 中的代码:
public function addpatient() {
$this->form_validation->set_rules('pafname', 'pafname', 'trim|required',
array('required' => 'First name is required')
);
$this->form_validation->set_rules('pamname', 'pamname', 'trim|required',
array('required' => 'Middle name is required')
);
$this->form_validation->set_rules('palname', 'palname', 'trim|required',
array('required' => 'Last name is required')
);
$this->form_validation->set_rules('paaddress', 'paaddress', 'trim|required',
array('required' => 'Address is required')
);
$this->form_validation->set_rules('pacontact', 'pacontact', 'trim|required',
array('required' => 'Contact # is required')
);
$this->form_validation->set_rules('pabdate', 'pabdate', 'trim|required',
array('required' => 'Birthdate is required')
);
$this->form_validation->set_rules('psex', 'psex', 'trim|required',
array('required' => 'Gender is required')
);
$this->form_validation->set_rules('pmartialstat', 'pmartialstat', 'trim|required',
array('required' => 'Martial status is required')
);
if ($this->form_validation->run() == TRUE) {
$result['status'] = true;
$result['message'] = "This patient has no duplicate";
}else {
$result['status'] = false;
$result['message'] = $this->form_validation->error_array();
}
echo json_encode($result);
}
【问题讨论】:
标签: php forms codeigniter validation