public function validateBread($request, $data, $name = null, $id = null)
    {
        $rules = [];
        $messages = [];
        $customAttributes = [];
        $is_update = $name && $id;

        $fieldsWithValidationRules = $this->getFieldsWithValidationRules($data);

        foreach ($fieldsWithValidationRules as $field) {
            $fieldRules = $field->details->validation->rule;
            $fieldName = $field->field;

            // Show the field's display name on the error message
            if (!empty($field->display_name)) {
                $customAttributes[$fieldName] = $field->display_name;
            }

            // Get the rules for the current field whatever the format it is in
            $rules[$fieldName] = is_array($fieldRules) ? $fieldRules : explode('|', $fieldRules);

            if ($id && property_exists($field->details->validation, 'edit')) {
                $action_rules = $field->details->validation->edit->rule;
                $rules[$fieldName] = array_merge($rules[$fieldName], (is_array($action_rules) ? $action_rules : explode('|', $action_rules)));
            } elseif (!$id && property_exists($field->details->validation, 'add')) {
                $action_rules = $field->details->validation->add->rule;
                $rules[$fieldName] = array_merge($rules[$fieldName], (is_array($action_rules) ? $action_rules : explode('|', $action_rules)));
            }
            // Fix Unique validation rule on Edit Mode
            if ($is_update) {
                foreach ($rules[$fieldName] as &$fieldRule) {
                    if (strpos(strtoupper($fieldRule), 'UNIQUE') !== false) {
                        $fieldRule = \Illuminate\Validation\Rule::unique($name)->ignore($id);
                    }
                }
            }

            // Set custom validation messages if any
            if (!empty($field->details->validation->messages)) {
                foreach ($field->details->validation->messages as $key => $msg) {
                    $messages["{$fieldName}.{$key}"] = $msg;
                }
            }
        }

        return Validator::make($request, $rules, $messages, $customAttributes);
    }
public function validateBread($request, $data, $name = null, $id = null)
    {
        $rules = [];
        $messages = [];
        $customAttributes = [];
        $is_update = $name && $id;

        $fieldsWithValidationRules = $this->getFieldsWithValidationRules($data);

        foreach ($fieldsWithValidationRules as $field) {
            $fieldRules = $field->details->validation->rule;
            $fieldName = $field->field;

            // Show the field's display name on the error message
            if (!empty($field->display_name)) {
                $customAttributes[$fieldName] = $field->display_name;
            }

            // Get the rules for the current field whatever the format it is in
            $rules[$fieldName] = is_array($fieldRules) ? $fieldRules : explode('|', $fieldRules);

            if ($id && property_exists($field->details->validation, 'edit')) {
                $action_rules = $field->details->validation->edit->rule;
                $rules[$fieldName] = array_merge($rules[$fieldName], (is_array($action_rules) ? $action_rules : explode('|', $action_rules)));
            } elseif (!$id && property_exists($field->details->validation, 'add')) {
                $action_rules = $field->details->validation->add->rule;
                $rules[$fieldName] = array_merge($rules[$fieldName], (is_array($action_rules) ? $action_rules : explode('|', $action_rules)));
            }
            // Fix Unique validation rule on Edit Mode
            if ($is_update) {
                foreach ($rules[$fieldName] as &$fieldRule) {
                    if (strpos(strtoupper($fieldRule), 'UNIQUE') !== false) {
                        $fieldRule = \Illuminate\Validation\Rule::unique($name)->ignore($id);
                    }
                }
            }

            // Set custom validation messages if any
            if (!empty($field->details->validation->messages)) {
                foreach ($field->details->validation->messages as $key => $msg) {
                    $messages["{$fieldName}.{$key}"] = $msg;
                }
            }
        }

        return Validator::make($request, $rules, $messages, $customAttributes);
    }
public function validateBread ( $ request , $ data , $ name = null , $ id = null ) { $ rules = [ ] ; $ messages = [ ] ; $ customAttributes = [ ] ; $ is_update = $ name && $ id ; $ fieldsWithValidationRules = $ this -> getFieldsWithValidationRules ( $ data ) ; foreach ( $ fieldsWithValidationRules as $ field ) { $ fieldRules = $ field -> details -> validation -> rule ; $ fieldName = $ field -> field ; // Show the field's display name on the error message if ( ! empty ( $ field -> display_name ) ) { $ customAttributes [ $ fieldName ] = $ field -> display_name ; } // Get the rules for the current field whatever the format it is in $ rules [ $ fieldName ] = is_array ( $ fieldRules ) ? $ fieldRules : explode ( '|' , $ fieldRules ) ; if ( $ id && property_exists ( $ field -> details -> validation , 'edit' ) ) { $ action_rules = $ field -> details -> validation -> edit -> rule ; $ rules [ $ fieldName ] = array_merge ( $ rules [ $ fieldName ] , ( is_array ( $ action_rules ) ? $ action_rules : explode ( '|' , $ action_rules ) ) ) ; } elseif ( ! $ id && property_exists ( $ field -> details -> validation , 'add' ) ) { $ action_rules = $ field -> details -> validation -> add -> rule ; $ rules [ $ fieldName ] = array_merge ( $ rules [ $ fieldName ] , ( is_array ( $ action_rules ) ? $ action_rules : explode ( '|' , $ action_rules ) ) ) ; } // Fix Unique validation rule on Edit Mode if ( $ is_update ) { foreach ( $ rules [ $ fieldName ] as & $ fieldRule ) { if ( strpos ( strtoupper ( $ fieldRule ) , 'UNIQUE' ) !== false ) { $ fieldRule = \ Illuminate \ Validation \ Rule :: unique ( $ name ) -> ignore ( $ id ) ; } } } // Set custom validation messages if any if ( ! empty ( $ field -> details -> validation -> messages ) ) { foreach ( $ field -> details -> validation -> messages as $ key => $ msg ) { $ messages [ "{$fieldName}.{$key}" ] = $ msg ; } } } return Validator :: make ( $ request , $ rules , $ messages , $ customAttributes ) ; }
Validates bread POST request.

@param \Illuminate\Http\Request $request The Request
@param array                    $data    Field data
@param string                   $slug    Slug
@param int                      $id      Id of the record to update

@return mixed
Validates bread POST request .