あなたはregex
を実行する必要はありませんこれを解決する。たとえば、次のテストを取る:
$input = ["wholesale_price" => 0.005];
$rules = ["wholesale_price" => "numeric|between:0.001,99.99"];
を限り、あなたはnumeric
ルールが必要として、そしてbetween
は、あなたのドン」として限り値を扱います(などint
、float
、double
、)数として確認されています$0.001
などの文字列値を渡すか、検証前に不要な文字を取り除くと、0
以上の値と設定した最大値(現在は99.99
ですが、設定できる値は高く設定できます)を返します。 )
単純なテストテンプレートは次のとおりです。
$input = [
"price" => 0
];
$input2 = [
"price" => 0.001
];
$rules = [
"price" => "numeric|between:0.001,99.99",
];
$validator = \Validator::make($input, $rules);
$validator2 = \Validator::make($input2, $rules);
dd($validator->passes());
// Returns false;
dd($validator2->passes());
// Returns true;
注:price
は、サーバーにそれを送信している場合だけ$
を削除、文字列値である場合にも動作します。
希望に役立ちます!
カスタムバリデータを使用します。 https://laravel.com/docs/5.2/validation#custom-validation-rules – ceejayoz