/** * Get the validation rules that apply to the request. * * @return array */ public function rules() { $types = \App\Models\BodyMeasurementType::orderBy('id')->get(); $minTypeID = $types->first()->id; $maxTypeID = $types->last()->id; $unitIDs = \App\Models\Unit::validationIDs($types->find($this->request->get('body_measurement_type_id'))->unit_type); return ['body_measurement_type_id' => sprintf('required|integer|min:%d|max:%d', $minTypeID, $maxTypeID), 'value' => 'required|numeric|min:0', 'unit_id' => sprintf('required|integer|in:%s', $unitIDs)]; }
/** * Get the validation rules that apply to the request. * * @return array */ public function rules() { $rules = []; $rules['exercise_groups'] = 'required|array'; if (count($this->request->get('exercise_groups'))) { foreach ($this->request->get('exercise_groups') as $group_num => $group) { $groupName = "exercise_groups." . $group_num; $rules[$groupName . ".exercise_id"] = 'required|exists:exercises,id'; $rules[$groupName . ".exercise_measurements"] = 'required|array'; $massUnitIDs = Unit::validationIDs(Unit::$unitMassType); $distanceUnitIDs = Unit::validationIDs(Unit::$unitDistanceType); if (count($this->request->get('exercise_measurements') > 0)) { foreach ($group['exercise_measurements'] as $measurement_num => $exercise_measurement) { $rules = array_merge($rules, $this->exerciseMeasurementRules($group_num, $measurement_num, $massUnitIDs, $distanceUnitIDs)); } } } } return $rules; }