File: D:/HostingSpaces/netwerkbrabant/netwerkbrabant.nl/app/Http/Requests/RegisterRequest.php
<?php
namespace App\Http\Requests;
use Illuminate\Validation\Rule;
use Illuminate\Foundation\Http\FormRequest;
class RegisterRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
public function validationData()
{
$all = $this->all();
// Remove the shipping fields if the other shipping field checkbox isn't checked
// So the validation doesn't fail on these fields
if (!isset($all['other_invoice_address'])) {
// dd('remove');
$invoiceFields = ['invoice_email', 'invoice_phone', 'invoice_address', 'invoice_postal', 'invoice_city',];
foreach ($invoiceFields as $invoiceField) if (isset($all[$invoiceField])) array_forget($all, $invoiceField);
}
return $all;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
// Company Rules
'name' => 'required',
// 'email' => ['required', 'email', Rule::unique('companies')->where(function ($query) {
// return $query->where('deleted_at', null);
// })],
'email' => 'required|email|unique:companies,email',
'phone' => 'required|different:name',
'address' => 'required|different:phone',
'postal' => 'required|different:address',
'city' => 'required|different:postal',
'site_url' => 'required|different:city',
'region_id' => 'required',
'company_category_id' => 'required',
// Company invoice rules
'invoice_email' => 'required_with:other_invoice_address', 'email',
'invoice_phone' => 'required_with:other_invoice_address|different:invoice_email',
'invoice_address' => 'required_with:other_invoice_address|different:invoice_phone',
'invoice_postal' => 'required_with:other_invoice_address|different:invoice_address',
'invoice_city' => 'required_with:other_invoice_address|different:invoice_postal',
// User Rules
'user_first_name' => 'required',
'user_last_name' => 'required|different:user_first_name',
'user_email' => ['required', 'different:user_last_name', 'email', Rule::unique('users','email')->where(function ($query){
return $query->where('deleted_at', null);
})],
'user_phone' => 'required|different:user_email',
'user_password' => 'required|min:8|different:user_phone',
'user_repeat_password' => 'required|same:user_password',
// Accept legal
'accept_legal' => 'accepted',
];
}
/**
* Get the error messages for the defined validation rules.
*
* @return array
*/
public function messages()
{
return [
'name.required' => __('site/auth.companyNameRequired'),
'accept_legal.accepted' => __('validation.accept_legal_register')
];
}
}