如何在验证规则中使用配置变量?
这是我的 model.php
public static $rules = [
'transaction_limit_per_day' => 'required|numeric|max:'.config('agripoints.cropAgentTransactionLimit')
];
答案 0 :(得分:0)
您可以使用双引号在laravel验证规则内使用任何变量,就像在普通双引号字符串中一样。
$transaction_limit = config('agripoints.cropAgentTransactionLimit');
public static $rules = [
'transaction_limit_per_day' => "required|numeric|max:$transaction_limit"
];
答案 1 :(得分:0)
这与Php http://php.net/manual/en/language.variables.scope.php有关。如果您将参考此文档,则说明您无法在我们的案例config('agripoints.cropAgentTransactionLimit')
中用另一个变量初始化静态变量。
您可以用不同的方法来做。随时从以下解决方案中做出决定。
解决方案1:
public $rules;
public function __construct()
{
$this->rules = [
'transaction_limit_per_day' => 'required|numeric|max:'.config('agripoints.cropAgentTransactionLimit')
];
}
之后,您可以像这样访问它:
$model = new User; // use your own model here.
$model->rules; // this will let you access rules
解决方案2:(我个人将使用这种方法)
public function rules()
{
return [
'transaction_limit_per_day' => "required|numeric|max:".config('agripoints.cropAgentTransactionLimit'),
];
}
之后,您可以像这样访问它:
$model = new User; // use your own model here.
$model->rules(); // this will let you access rules
希望有帮助。编码愉快。