• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Call function in model before validation

Hi guys,
I have a model with the following validation rule.

PHP Code:
'slug'  => 'is_unique[products.slug,ID,{ID}]|alpha_dash' 

I would like to automatically generate a slug when none is provided, so I added:

PHP Code:
protected $beforeInsert = ['generateSlug'];

protected function 
generateSlug(array $data)
        if (empty(
$data['data']['slug'] = url_title($data['data']['name'], '-'true);


The problem seems that validation rules are evaluated before `beforeInsert` callback is called.

Could you help me?


The simplest solution would be to remove the validation rule you have set, that is blocking the process (probably something like "required", add "permit_empty" instead). Then do the validation yourself like you are doing already in your function.

As I see it, this is not really a "validation" if the provided data is always "valid". It seems to be more like a "filter" function.

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  

  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2021 MyBB Group.