Validator::extendDependent('cbu_deposit', function ($attribute, $value, $parameters, $validator){
$arr = explode('.', $attribute);
$account = $validator->getData()[$arr[0]][$arr[1]];
$type = $account['type'];
if($value < $type['minimum_deposit_per_transaction']){
return false;
}
return true;
});
根据laravel api,第三个参数是$ message
void extendDependent(string $rule, Closure|string $extension, string|null $message = null)
我想知道如何使他这样的错误消息动态化
$error = "Mininum deposit for " .$type['product_id']. ' is : '.$type['minimum_deposit_per_transaction'].'.';
您可以将变量添加到这样的错误消息中:
Mininum deposit for :id is : :deposit.
我已经在$validator->addReplacer()
中使用Validator::extendDependent('cbu_deposit')
方法找到了答案。
$customMessage = "Mininum deposit for " .$type['product_id']. ' is : '.$type['minimum_deposit_per_transaction'].'.';
$validator->addReplacer('cbu_deposit',
function($message, $attribute, $rule, $parameters) use ($customMessage) {
return \str_replace(':custom_message', $customMessage, $message);
}
);