繁体   English   中英

在验证之前,Laravel在数组输入中用点替换逗号

[英]Laravel replace comma by dot in array input before validation

在检查输入是否为数字之前 ,我想在多个数组输入中用点替换所有逗号。 我有6个输入命名为百分比,索引从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,它表示它不是数字。 有谁知道,问题是什么?

我认为这需要更多解释。 就像$request数据在修改之前的样子一样。 或者修改后输出$request数据的样子。

我想你说的两个数字(20和77)应该是$c变量的位置? 所以你循环1到6并检查$request->percentage[$c] ,其中$c是你输入的数字,例如20或77 ...因为你的脚本在点击6后停止了永远不会达到20或77。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM