如何将请求输入与数据库进行比较
-exists:users, id
,然后将输入的请求与id列上的users表进行比较。
例如,如何比较大于,小于数据库的请求输入:
我的money
列为 5 ,我想撤回 6 ,
验证必须小于等于5;如果我输入6,则将出错。
因此它将是(my_database_variable> = request_input)。
编辑1
我认为我没有使用自定义验证,因为它可以在 max 上运行。
但是如何在FormRequest(TransactionRequest)上传递参数?
public function rules()
{
return [
"action" => "required|in:kylder,koul",
"amount" => "required|numeric|min:100|max".$max_amount, //<---- how to pass this from controller
"currency" => "required|in:kylder,koul",
"receiver_id" => "required|exists:users,id",
"message" => "sometimes|nullable"
];
}
在我的控制器中,我正在使用它进行验证
public function transaction(TransactionRequest $request)
{
$max_variable = 20; // <---- I want to pass this on rule()
$response = $request->validated();
...
}
如何将$max_amount
的变量传递给rule()?
答案 0 :(得分:0)
在您的验证中使用lte:field
,这表明验证必须小于或等于给定的字段。这两个字段必须具有相同的类型。字符串,数字,数组和文件使用与大小规则相同的约定进行评估。