Php 如何验证和清理表单复选框数组?

Php 如何验证和清理表单复选框数组?,php,html,laravel,laravel-5,octobercms,Php,Html,Laravel,Laravel 5,Octobercms,我使用的是基于和的 我有一个带有复选框的表单,queued[]。它们使用循环与Laravel一起提交和删除 这一切都可以正常工作,但我如何才能对阵列进行检查和清理 验证需要星号*'*'=>输入::获取('queued') Sanitize,我得到一个错误trim()期望参数1是字符串,数组是给定的 形式 您可以编写自己的自定义验证规则。 您可以在pluginsboot()方法中定义新规则,如下所示: Validator::extend('myCustomRule', function($attr

我使用的是基于和的

我有一个带有复选框的表单,
queued[]
。它们使用循环与Laravel一起提交和删除

这一切都可以正常工作,但我如何才能对阵列进行检查和清理

验证需要星号*<代码>'*'=>输入::获取('queued')

Sanitize,我得到一个错误
trim()期望参数1是字符串,数组是给定的

形式


您可以编写自己的自定义验证规则。 您可以在plugins
boot()
方法中定义新规则,如下所示:

Validator::extend('myCustomRule', function($attribute, $value, $parameters) {
    # check if the $value is in valid
    # return true if it is and return false if it is not valid
    return true;
});
可以对数组进行foreach,然后检查值。根据您的验证规则,您可能不需要在此之后进行清理

然后,您可以根据提供的名称使用自定义规则:

$validator = Validator::make(input(), [
    'queued' => 'myCustomRule',
    ]
);

我有一个验证解决方案,它将作为
'queued[]'=>输入::get('queued'),
请尝试一下您在sanitize_输入法中传递的$data是什么?@recoverymen$data只是传递到函数中的任何形式的输入。我把$checkbox放进去。我会更新代码。好的。。。这次验证对您有效吗?@recoverymen它通过了验证程序,但是我如何知道它是否验证了数组中的每个项,或者它只是检查最后一个排队的[]?
Validator::extend('myCustomRule', function($attribute, $value, $parameters) {
    # check if the $value is in valid
    # return true if it is and return false if it is not valid
    return true;
});
$validator = Validator::make(input(), [
    'queued' => 'myCustomRule',
    ]
);