I have this method called validate() that accepts array as parameter.
E.g.
$v->validate([
'username' => [$username, 'required'],
'email' => [$email, 'required'],
'password' => [$password, 'required'],
]);
So what I want to do is, create dynamically parameters for that. Don't know the right term though. For example!
$v->validate([
'username' => [$username, 'required'],
'email' => [$email, 'required'],
'password' => [$password, 'required'],
$validate_parameters
]);
Something like that, there's this fixed fields and other dynamic fields that will be sent as a parameter. It will be translated as:
$v->validate([
'username' => [$username, 'required'],
'email' => [$email, 'required'],
'password' => [$password, 'required'],
'dynamicfield_1' => ['value_1', 'rule_1'],
'dynamicfield_2' => ['value_2', 'rule_2'],
'dynamicfield_3' => ['value_3', 'rule_3'],
]);
Here's my method for that.
public function validateDynamicFields($compressed_field, $rules) {
$parameters = '';
foreach ($compressed_field as $key => $value) {
// Well technically this will not work since it's not even an array or some sort.
$parameters .= $key => [$value, $rules];
// I even tried this and hope that it would work but it doesn't
// $parameters .= "'{$key}' => [{$value}, '{$rules}'],";
}
return $parameters;
}
The question is, how do I create dynamically array values for the validate() method?
array_merge? You can generate the "dynamic fields" inside the method and merge it with the user supplied fields.