在 Laravel 验证正则表达式规则中验证 latitude/longitude - preg_match(): 未找到结束分隔符“/”
Validating latitude/longitude in Laravel validation regex rule - preg_match(): No ending delimiter '/' found
我正在尝试使用自定义正则表达式规则在 Laravel 5.4 项目中验证 latitude/longitude(基于此答案:)
// Create validation
$validator = Validator::make($request->all(), [
// ...
'lat' => 'required|regex:/^[-]?(([0-8]?[0-9])\.(\d+))|(90(\.0+)?)$/',
'long' => 'required|regex:/^[-]?((((1[0-7][0-9])|([0-9]?[0-9]))\.(\d+))|180(\.0+)?)$/'
], [
'lat.regex' => 'Latitude value appears to be incorrect format.',
'long.regex' => 'Longitude value appears to be incorrect format.'
]);
// Test validation
if ($validator->fails()) {
return redirect()
->back()
->withErrors($validator)
->withInput();
}
运行时,出现以下错误:
preg_match(): No ending delimiter '/' found
我也试过这个;
'lat' => 'required|regex:^[-]?(([0-8]?[0-9])\.(\d+))|(90(\.0+)?)$',
'long' => 'required|regex:^[-]?((((1[0-7][0-9])|([0-9]?[0-9]))\.(\d+))|180(\.0+)?)$'
现在我得到这个错误:
preg_match(): No ending delimiter '^' found
通过自定义正则表达式规则在 laravel 中验证 lat/lng 的正确语法是什么?
有没有可能是管道的问题?例如,参见 。我看到您的正则表达式中有一个管道字符。尝试将规则分成一个数组,而不是在此处使用管道:required|regex
在第二个示例中,第一个 ^
被解释为正则表达式字符串的起始字符,因此它期望最后的 ^
来匹配它。
我正在尝试使用自定义正则表达式规则在 Laravel 5.4 项目中验证 latitude/longitude(基于此答案:)
// Create validation
$validator = Validator::make($request->all(), [
// ...
'lat' => 'required|regex:/^[-]?(([0-8]?[0-9])\.(\d+))|(90(\.0+)?)$/',
'long' => 'required|regex:/^[-]?((((1[0-7][0-9])|([0-9]?[0-9]))\.(\d+))|180(\.0+)?)$/'
], [
'lat.regex' => 'Latitude value appears to be incorrect format.',
'long.regex' => 'Longitude value appears to be incorrect format.'
]);
// Test validation
if ($validator->fails()) {
return redirect()
->back()
->withErrors($validator)
->withInput();
}
运行时,出现以下错误:
preg_match(): No ending delimiter '/' found
我也试过这个;
'lat' => 'required|regex:^[-]?(([0-8]?[0-9])\.(\d+))|(90(\.0+)?)$',
'long' => 'required|regex:^[-]?((((1[0-7][0-9])|([0-9]?[0-9]))\.(\d+))|180(\.0+)?)$'
现在我得到这个错误:
preg_match(): No ending delimiter '^' found
通过自定义正则表达式规则在 laravel 中验证 lat/lng 的正确语法是什么?
有没有可能是管道的问题?例如,参见 required|regex
在第二个示例中,第一个 ^
被解释为正则表达式字符串的起始字符,因此它期望最后的 ^
来匹配它。