für eine ID Überprüfung oder jede Spalte Wert existieren nicht in der Datenbank CI eine Gültigkeitsregel für sie.
Sehen Sie es hier leben: Validation Rule
Regel: is_unique
gibt false zurück, wenn das Formularelement auf die Tabellen- und Feldnamen in dem Parameter nicht eindeutig ist. Hinweis: Für diese Regel muss der Abfrage-Generator aktiviert sein, damit er funktioniert.
Beispiel: is_unique[table.field]
$this->form_validation->set_rules(
'username', 'Username',
'required|min_length[5]|max_length[12]|is_unique[users.username]',
array(
'required' => 'You have not provided %s.',
'is_unique' => 'This %s already exists.'
)
);
Weitere Vorgriff der Validierung können Sie alle Regeln Validierung Rahmen fügen Sie ein Array verwenden.
$this->form_validation->set_rules(
'username', 'Username',
'required|min_length[5]|max_length[12]|is_unique[users.username]',
array(
'required' => 'You have not provided %s.',
'is_unique' => 'This %s already exists.'
)
);
$config = array(
'your_rule_name' => array(
array(
'username', 'Username',
'required|min_length[5]|max_length[12]|is_unique[users.username]',
array(
'required' => 'You have not provided %s.',
'is_unique' => 'This %s already exists.'
)
)
),
array(
'field' => 'email',
'label' => 'Email',
'rules' => 'required'
)
);
$this->form_validation->set_rules($config);
Haben Sie überprüft, was '$ q' ist, wenn Sie das ausführen? – matthewpavkov
$ q überprüft, ob irgendwelche der IDs in der Datenbank existieren, es funktioniert, weil es keine neuen Informationen in die Datenbank einfügt – Hashey100
Richtig, aber ich würde verifizieren, dass $ q eigentlich 'false' ist. Probiere 'if ($ q-> num_rows()> 0) {...}' und mache dann einfach ein 'echo' in deinem' if', damit du sehen kannst, was genau passiert. – matthewpavkov