xxxxxxxxxx
$data = $request->validate([
"name" => "required|array|min:3",
"name.*" => "required|string",
]);
xxxxxxxxxx
$validator = Validator::make($request->all(), [
"names" => "required|array|min:3",
"names.*" => "required|string|distinct|min:3",
]);
xxxxxxxxxx
//Be careful it does multiple queries.
//'document_group_ids.*' => 'exists:document_groups,id'
public function rules(): array
{
return [
'document_type_id' => 'required|integer|exists:document_types,id',
'document_group_ids' => 'required|array',
'document_group_ids.*' => 'exists:document_groups,id',
];
}
xxxxxxxxxx
I found a better solution. The validate in_array expects the array to be one of
the parameters in the request. The in: answer will not work if you have
commas in the array. To use the in_array without having to create a new rule
you can simply do: ( Make sure you include the .* at the end )
$this->allslots = array('10:00:00', '10:10:00', '10:20:00', '10:30:00', '10:40:00', '10:50:00', '11:00:00', '11:10:00', '11:20:00', '11:30:00', '11:40:00', '11:50:00', '12:00:00', '12:10:00', '12:20:00', '12:30:00', '12:40:00', '12:50:00', '13:00:00', '13:10:00', '13:20:00', '13:30:00', '13:40:00', '13:50:00', '14:00:00', '14:10:00', '14:20:00', '14:30:00', '14:40:00', '14:50:00', '15:00:00', '15:10:00', '15:20:00', '15:30:00', '15:40:00', '15:50:00', '16:00:00', '16:10:00', '16:20:00', '16:30:00', '16:40:00', '16:50:00');
$request['allslots'] = $this->allslots;
validate($request, [
'field' => 'required|in_array:allslots.*',
]);
xxxxxxxxxx
in:foo,bar,
The field under validation must be included in the given list of values. Since
this rule often requires you to implode an array, the Rule::in method may be
used to fluently construct the rule:
'field' => 'required|in:' . implode(',', ['value1', 'value2']),
xxxxxxxxxx
$validation->messages()->all()
@if($errors->any())
<div class="alert alert-danger">
<p><strong>Opps Something went wrong</strong></p>
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
@if(session('success'))
<div class="alert alert-success">{{session('success')}}</div>
@endif
@if(session('error'))
<div class="alert alert-danger">{{session('error')}}</div>
@endif
xxxxxxxxxx
$request = [
'ids' => [1, 2, 3, 4],
];
$rules = [
'ids' => 'required|array',
'ids.*' => 'exists:users,id', // check each item in the array
];
$validator = Validator::make($request, $rules);
dd($validator->passes(), $validator->messages()->toArray());
xxxxxxxxxx
'username' => ['required', 'min:3', 'max:255', Rule::unique('users', 'username')],
xxxxxxxxxx
use Illuminate\Support\Facades\Validator;
$input = [
'user' => [
'name' => 'Taylor Otwell',
'username' => 'taylorotwell',
'admin' => true,
],
];
Validator::make($input, [
'user' => 'array:username,locale',
]);
xxxxxxxxxx
use Illuminate\Validation\Rules\File;
request()->validate(
$rules = ['files.*' => ['required', File::image()->max(2 * 1024)],
$messages = [],
$attributes = ['files.0' => 'Galleries'],
);