Welcome Guest, Not a member yet? Register   Sign In
If hashed password in entity, it is not get validate length of model validation
#1
Exclamation 

User model
PHP Code:
<?php
namespace App\Models;
use 
CodeIgniter\Model;
class 
RegisterModel extends Model
{
    protected 
$table 'users';
    protected 
$DBGroup 'user_webapp';
    protected 
$primaryKey 'id';
    protected 
$allowedFields = [
        
'email',
        
'mobile_number',
        
'password'
    
];
    protected 
$useTimestamps true;
    protected 
$validationRules = [
        
'email' => 'required|valid_email|is_unique[users.email]',
        
'password'=> 'required|min_length[8]',
    ];
    protected 
$validationMessage = [];
    protected 
$returnType    'App\Entities\RegisterEntity';
    protected 
$beforeInsert = [];


Entity class
PHP Code:
<?php
namespace App\Entities;
use 
CodeIgniter\Entity;
class 
RegisterEntity extends Entity
{
    public function 
setPassword(string $pass){
        
$this->attributes['password'] = password_hash($passPASSWORD_BCRYPT);
        return 
$this;
    }

Even empty password supplied, it would not trigger the validation error from model!
What is solution?
Reply
#2

Don't use model validation. =)
Reply
#3

(04-18-2021, 12:46 PM)iRedds Wrote: Don't use model validation. =)
If the model validations not used, the email validation (is_unique) would not work! Idea
PHP Code:
'email' => 'required|valid_email|is_unique[users.email]'
Reply
#4

Validation is a separate library. You can use it without a model.
Reply




Theme © iAndrew 2016 - Forum software by © MyBB