我有一個包含兩個相關鍵的陣列,其中至少一個應包含有效的電子郵件地址。
$data = [
'mail' => 'firstname.lastname#tld.com',
'mail2' => '[email protected]',
...
]
我嘗試使用該exclude_with方法進行驗證,如果該mail欄位無效但有效,則該方法mail2有效。然而,反之亦然。
$validated = Validator::make($data, [
'mail' => 'exclude_with:mail|email',
'mail2' => 'exclude_with:mail2|email',
])->validate();
我可以使用其他 PHP 方法或正則運算式輕松地做到這一點,但我想知道這是否可以使用 Laravel 的驗證器進行歸檔。
目標是至少獲得一個包含有效電子郵件或失敗的欄位。
uj5u.com熱心網友回復:

兩個無效的電子郵件
$data = [
'mail' => 'firstname.lastname#tld.com', // wrong
'mail2' => 'firstname.lastname#tld.com' // wrong
];
$validator = Validator::make($data, [
'mail' => 'exclude_unless:mail2,null|email',
'mail2' => 'exclude_unless:mail,null|email',
]);
if ($validator->fails()) {
$messages = $validator->messages();
foreach ($messages->all() as $message)
{
echo $message;
}
die();
}
echo "pass";
die();
輸出

將錯誤訊息自定義為標準訊息,例如“至少一封電子郵件應該是有效的”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/507245.html
上一篇:?探秘 Web 水印技術
下一篇:WPF樣式設計文本框工具提示
