更新位置名称时,我需要验证以检查表中的多行,而不仅仅是单个ID。
我的表格如下:
public function rules()
{
return [
'name' => 'required|max:255|unique:evac_routes,name,'.$this->name,
...
];
}
创建新位置可按预期工作。但我不确定如何设置验证规则以排除我正在尝试更新的当前位置 - 它需要检查“名称”列。
我希望这样的事情可行 - 但事实并非如此。
Route::where('name', $route->name)->update
在我的控制器中,我使用的是public function update($id, UpdateRouteRequest $request)
{
$route = Route::findOrFail($id);
$updateRows = Route::where('name', $route->name)->update([
'name' => $request->name,
...
]);
return redirect('routes');
}
,但是我无法将此逻辑转换为验证规则:
Function strOut(strIn As String) As String
Dim objRegex As Object
Set objRegex = CreateObject("vbscript.regexp")
With objRegex
.Pattern = "^P\d+$"
strOut = .Test(strIn)
End With
End Function
答案 0 :(得分:0)
您需要创建自定义验证并传递要检查的ID数组,例如:
public function multipelvalidation()
{
Validator::extend('multipel', function ($attribute, $value) {
//check validation here and return true or false
});
}
//... and use your rule in validation like below:
'name' => 'required|multipel|max:255|unique:evac_routes,name,'.$this->name,