4 回答
TA貢獻1848條經驗 獲得超2個贊
做這樣的事情:
根據插入請求使用
'domain' => [
...
'unique:websites,domain'
]
根據更新請求使用
'domain' => [
...
"unique:websites,domain,{$this->website->id}"
]
要么
'domain' => [
...
Rule::unique('websites', 'domain')->ignore($this->website)
]
TA貢獻1775條經驗 獲得超8個贊
您不需要在 ignore Rule 中傳遞重復的列來指示驗證器忽略網站域,除了它自己嗎?例如像
Rule::unique('apps')->ignore($website->id)TA貢獻2016條經驗 獲得超9個贊
您將 $request->all() 作為驗證消息傳遞。請試試:
$website = $websiteModel->find($id);
$request->validate([
'subDomainName' => ['required','regex:/^[A-Za-z0-9 ]+$/'],
'subDomainSuffix' => ['required'],
'packageType' => ['required'],
'themeid' => ['required'],
'lang' => ['required'],
'user' => ['required'],
'domain' => [
'required',
'string',
'min:2',
'max:255',
Rule::unique('apps')->ignore($website)
],
]);
TA貢獻1900條經驗 獲得超5個贊
請試試這個 。它有助于解決你的問題
在文件頂部使用異常和驗證器
use Exception;
use Validator;
$rules = [
'subDomainName' => 'required|unique:sub_domain_name',
];
$validator = Validator::make($request->all(), $rules, $message);
if ($validator->fails()) {
throw new Exception(implode('\n', $validator->errors()->all()));
}
sub_domain_name :這是數據庫列名
- 4 回答
- 0 關注
- 166 瀏覽
添加回答
舉報
