在检查输入是否为数字之前,我想用多个数组输入中的点替换所有逗号。我有6个输入,命名为percent,索引从1到6。
这就是我想将修改后的百分比与$ request变量合并的方式。
for ($c = 1; $c <= 6; $c++) {
if ($request->percentage[$c] != null) {
$request->merge([
"percentage.$c" => str_replace(',', '.', $request->percentage[$c])
]);
}
}
这就是我要验证百分比的方式。
$this->validate($request, [
'percentage.1' => 'required|numeric',
'percentage.2' => 'numeric|nullable',
'percentage.3' => 'numeric|nullable',
'percentage.4' => 'numeric|nullable',
'percentage.5' => 'numeric|nullable',
'percentage.6' => 'numeric|nullable',
]);
但是,此解决方案无法正常工作。例如,如果输入20,77,则表示它不是数字。 有人知道是什么问题吗?
答案 0 :(得分:0)
我认为这需要进一步解释。像$request
数据在修改之前的样子。或修改后的输出$request
数据的外观。
我想象您说的两个数字(20和77)应该位于$c
变量所在的位置?因此,您要遍历1到6,并检查$request->percentage[$c]
,其中$c
是您输入的数字,例如20或77 ...因为脚本在达到6后就停止了,所以永远不会达到20或77。