我在files
表中存儲filenames + their extensions
列filename
列。我的問題是,自只有名稱存在於$request
對象中,沒有對應的擴展名,我無法使用唯一驗證規則驗證文件名,而無需首先修改輸入數據。例如:Laravel中子字符串的唯一驗證
// . . .
$this->validate($request, [
// Suppose the name of uploaded file is 'file'.
// The below rule will NEVER fail, because in the
// database, similar file will be stored as 'file.txt',
// thus 'file' != 'file.txt'
'filename' => 'unique:files'
]);
// . . .
有沒有辦法驗證文件名忽略它的後綴(擴展名)在數據庫中?
在你的代碼中,你在文件名後面附加了一個擴展名? –
@MarcoAurélioDeleu驗證通過後,我連接文件名和它的擴展名,並將它們存儲在數據庫中。這是相當有趣的一段代碼,是否真的需要在這裏發佈? –
這取決於我可能有一個解決方案,但它依賴於你改變策略,這意味着停止附加後驗證擴展,並做它之前。 –