Validation UNIQUE field in Codeigniter with 2 index
codeigniter, mysql, php, validation
Solution
I don't think that `CI` has built-in case for combined `PK` but I would use callback_ like this: but note that you have to send the second `PK` as extra and the rule should be applied on the first $PK see callbacks for more info about that
$this->form_validation->set_rules('form_field', 'form_label', 'callback_combpk[$pk2]');
public function combpk($pk1, $pk2)
{
$this->db->where('field1', $pk1);
$this->db->where('field2', $pk2);
$result = $this->db->get('table');
if($result->num_rows() > 0)
{
$this->form_validation->set_message('combpk','something'); // set your message
return false;
}
else{ return true;}
}
Problem
In the Codeigniter Framework, I can validate an Unique field in the MYSQL Database using the "Form Validation Class". Exemple: ``` $this->form_validation->set_rules('form_field', 'form_label', 'is_unique[table.field]'); ``` Work perfectly, but, I need validate a field from a table with 2 index. Exemple: ``` UNIQUE INDEX `id_aluno` (`id_aluno`, `ano`), ``` The Codeigniter Framework can do it natively?