实际上我想在表单中验证某种版本字段。 例如,在输入字段中,用户应输入字符串,如' 108.111.154.250 '即。 它应该是四个用点分割的段,每个段不应超过250个。
如果它从验证失败,它应该抛出一条错误信息。
当用户输入此字段的输入时,这就是我的验证方式。
答案 0 :(得分:0)
试试这个
$ip = '108.111.154.250';
$ip_range = explode(".",$ip);
foreach ($ip_range as $value) {
if($value>=0 && $value<=255)
{ /* Do something */ }
else
{ /* Not Valid IP */ }
}
答案 1 :(得分:0)
您可以使用laravel's validators:
将此添加到您的服务提供商。
$validator = resolve(Illuminate\Validation\Factory::class);
$validator->extend("myversion", function ($attribute, $value, $parameters) {
$parts = collect(explode(".", $value));
return $parts->count() == $parts->filter(function ($v) {
return is_numeric($v) && $v < 250;
})->count(); //Check if the segments that are numeric and less than 250 are exactly 4
});
然后您可以使用此规则:
$validator = Validator::make($arrayToValidate, [
"version" => "myversion"
]);
if ($valitator->fails()) {
//error
}