I am trying to validate a value by checking the value is in an array, this is what I have so far:
$agency_names = Session::get('config.agency-names');
$request->validate([
'agency-name' => 'required|array:' . $agency_names . ''
]);
$agency_names (output):
0:
AgencyID: "A1169"
AgencyName: "19 London"
AgencyType: "Agency Plus"
1:
AgencyID: "A1095"
AgencyName: "Abbeville Nannies"
AgencyType: "Affiliate"
Any help would be appreciated.
Updated code:
$agencies = Session::get('config.agency-names');
$names = array_map(fn($agency_data): string => $agency_data->AgencyName, $agencies);
$request->validate(['agency-name' => 'required', Rule::in($names)]);
Updated code (resolved)
$agencies = Session::get('config.agency-names');
$agency_names = array();
for ($x = 0; $x < count($agencies['Agencies']); $x++) {
$name = $agencies['Agencies'][$x]["AgencyName"];
array_push($agency_names, $name);
}
$request->validate(['agency-name' => ['required_if:referral,no', Rule::in($agency_names)]]);