Skip to content

Commit

Permalink
fixed contact person validation issue
Browse files Browse the repository at this point in the history
  • Loading branch information
CihanSenturk committed Oct 13, 2023
1 parent 3ce1f4a commit 314da16
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 4 deletions.
13 changes: 12 additions & 1 deletion app/Http/Requests/Common/Contact.php
Expand Up @@ -52,7 +52,7 @@ public function rules()
. '|dimensions:max_width=' . config('filesystems.max_width') . ',max_height=' . config('filesystems.max_height');
}

return [
$rules = [
'type' => 'required|string',
'name' => 'required|string',
'email' => $email,
Expand All @@ -61,6 +61,16 @@ public function rules()
'enabled' => 'integer|boolean',
'logo' => $logo,
];

if ($this->request->has('contact_persons')) {
$rules = array_merge($rules, [
'contact_persons.*.name' => 'nullable|string',
'contact_persons.*.email' => 'nullable|email:rfc,dns',
'contact_persons.*.phone' => 'nullable|string',
]);
}

return $rules;
}

public function messages()
Expand All @@ -73,6 +83,7 @@ public function messages()

return [
'logo.dimensions' => $logo_dimensions,
'contact_persons.*.email.email' => trans('validation.email', ['attribute' => Str::lower(trans('general.email'))])
];
}
}
30 changes: 27 additions & 3 deletions resources/views/components/contacts/form/persons.blade.php
Expand Up @@ -29,15 +29,39 @@
<x-table.tbody>
<x-table.tr class="relative flex items-start px-1 group/actions border-b" v-for="(row, index) in form.contact_persons" ::index="index">
<x-table.td class="w-4/12">
<x-form.group.text name="contact_persons[][name]" data-item="name" v-model="row.name" @change="forceUpdate()" placeholder="{{ trans('general.name') }}" />
<x-form.group.text
name="contact_persons[][name]"
data-item="name"
v-model="row.name"
@change="forceUpdate()"
placeholder="{{ trans('general.name') }}"
v-error="form.errors.has('contact_persons.' + index + '.name')"
v-error-message="form.errors.get('contact_persons.' + index + '.name')"
/>
</x-table.td>

<x-table.td class="w-4/12">
<x-form.group.text name="contact_persons[][email]" data-item="email" v-model="row.email" @change="forceUpdate()" placeholder="{{ trans('general.email') }}" />
<x-form.group.text
name="contact_persons[][email]"
data-item="email"
v-model="row.email"
@change="forceUpdate()"
placeholder="{{ trans('general.email') }}"
v-error="form.errors.has('contact_persons.' + index + '.email')"
v-error-message="form.errors.get('contact_persons.' + index + '.email')"
/>
</x-table.td>

<x-table.td class="w-4/12">
<x-form.group.text name="contact_persons[][phone]" data-item="phone" v-model="row.phone" @change="forceUpdate()" placeholder="{{ trans('general.phone') }}" />
<x-form.group.text
name="contact_persons[][phone]"
data-item="phone"
v-model="row.phone"
@change="forceUpdate()"
placeholder="{{ trans('general.phone') }}"
v-error="form.errors.has('contact_persons.' + index + '.phone')"
v-error-message="form.errors.get('contact_persons.' + index + '.phone')"
/>
</x-table.td>

<x-table.td class="w-6 mt-2.5 none-truncate text-right align-top group" override="class">
Expand Down

0 comments on commit 314da16

Please sign in to comment.