Sen regex
yapmak zorunda olmamalıdır Bunu çözmek için. Örneğin aşağıdaki testi atın:
$input = ["wholesale_price" => 0.005];
$rules = ["wholesale_price" => "numeric|between:0.001,99.99"];
sürece senin numeric
kuralı gerektiren, daha sonra between
senin don' sürece değerini ele alacağız (vb int
, float
, double
) sayı olarak doğrulanan t $0.001
gibi bir dize değeri iletin veya doğrulamadan önce istenmeyen karakterler şeritleyin, bu yöntem 0
üzerindeki herhangi bir şey için true değerine döner ve ayarladığınız maksimum değer (şu anda 99.99
, ancak istediğiniz kadar yüksek ayarlayabilirsiniz.)
Basit bir sınama şablonu:
$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;
Not: price
Sunucuya o göndermeniz durumunda sadece $
şerit, bir dize değeri ise de çalışır.
Bu yardımcı olur umarım!
Özel bir doğrulayıcı kullanın. https://laravel.com/docs/5.2/validation#custom-validation-rules – ceejayoz