我正在实施一个调查构建器,其中包含多个允许的问题类型。这些类型是:
1。和 2。要求多个可能的答案由用户提供,而 3。 根本不需要任何可能的答案。这些要求在true
列中存储为false
/ question_types.multiple_answers
值。
我需要一个验证规则,即:
要求 answers[]
数组出现在请求中,仅当所选的question_type's
对应的multiple_answers
值在数据库中设置为true 。
以下是我想要实现的目标:
...->validate($request, [
'answers' => 'require_if:type,...' // <-- if 'type' has 'multiple_answers' set to true in database
]);
答案 0 :(得分:2)
您可以创建conditional validation rules来执行您想要的操作。仅当指定为第三个参数的函数返回true时,才会评估指定为第二个参数的规则。
$v->sometimes('answers', 'required', function($input) {
// check database and return true if multiple_answers is set for the type ($input->type)
});