🔥 CodeIgniter Intermediate

What is CodeIgniter 4's Model Validation?

Answer

CI4 models can validate data automatically before insert/update. Define rules in the model: protected $validationRules = ["name" => "required|min_length[3]", "email" => "required|valid_email|is_unique[users.email]"]. Custom messages: protected $validationMessages = ["email" => ["is_unique" => "This email is already registered"]]. Skip validation for specific operations: $this->userModel->skipValidation(true)->save($data). Call validation manually: if (!$this->userModel->validate($data)) { $errors = $this->userModel->errors(); }. The save() method runs validation automatically — it returns false on failure. For update, the is_unique rule needs to ignore the current record: use placeholders: "is_unique[users.email,id,{id}]" where {id} is a placeholder replaced with the actual value at runtime. This keeps validation logic close to the model.