$field) { $data[$field] = $data[$field] ?? $defaults_values[$index]; } return $data; } /** * Get the validation rules that apply to the request. * * @return array|string> */ public function rules(): array { return [ 'email' => 'required|email|unique:users,email', 'password' => 'required|min:6', 'password_confirmation' => 'required|same:password', 'first_name' => ['required', 'string', 'max:255'], 'last_name' => ['required', 'string', 'max:255'], 'birthdate' => ['required', 'date'], 'gender' => ['required', Rule::in(['male', 'female'])], 'country' => ['required', 'string', 'max:255'], 'city' => ['required', 'string', 'max:255'], 'lang' => ['required', 'string', 'max:255'], 'weight' => ['required', 'integer'], 'height' => ['required', 'integer'], 'chest_circumference' => ['required', 'integer'], 'waist_circumference' => ['required', 'integer'], 'hip_circumference' => ['required', 'integer'], 'blood_pressure_up' => ['required', 'integer'], 'blood_pressure_down' => ['required', 'integer'], 'has_hypo' => ['required', Rule::in(['0', '1'])], 'has_hyper' => ['required', Rule::in(['0', '1'])], 'about_alergy' => ['sometimes', 'nullable', new MinWords(1)], 'about_taking_pils' => ['sometimes', 'nullable', new MinWords(1)], 'about_sport_hobbies' => ['sometimes', 'nullable', new MinWords(1)], 'favorite_foods' => ['sometimes', 'nullable', new MinWords(1)], 'unfavorite_foods' => ['sometimes', 'nullable', new MinWords(1)], 'additional_info' => ['sometimes', 'nullable', new MinWords(1)], ]; } }