2016-10-31 2 views
1

У меня есть динамический входной файл в laravel, входной файл будет отображаться на основе данных в базе данных при выпадающем списке выбора. есть моя база данных loop_attachment tableСделать входной файл на основе базы данных в laravel

вот объяснение по коду у меня есть.

Аякса, когда выберите 2 выпадающий который имеет идентификатор = GroupID и идентификатор = lendertype:

$('#groupid').on('change', function(){ 
    $.post('{{ URL::to('lender/dynamic') }}', {type: 'loop_attachment', id: $('#groupid').val(), key: $('#lendertype').val()}, function(e){ 
     $('#image').html(''); 
     $('#image').html(e); 
     }); 
    }); 
$('#lendertype').on('change', function(){ 
    $.post('{{ URL::to('lender/dynamic') }}', {type: 'loop_attachment', id: $('#groupid').val(), key: $('#lendertype').val()}, function(e){ 
     $('#image').html(''); 
     $('#image').html(e); 
     }); 
    }); 

когда выберите выпадающий, входной файл будет отображаться здесь:

<div class="row" id="image"> 
</div> 

и вот мой контроллер:

public function postDynamic(Request $request) 
{   
    switch(Input::get('type')): 
     case 'loop_attachment': 
      $return = ''; 
      foreach(Loop_attachment::where('groupid', Input::get('id'))->where('type2', Input::get('key'))->where('active', 1)->get() as $row) 
       $return .= "<div class='row'><div class='col-md-3'></div><div class='col-md-6'><center><div class='form-group'><div class='btn btn-primary'><span>Upload $row->doctype</span> <input type='file' style='margin-bottom:1px;' class='form-control upload' name='image[]' id='image-$row->doctype'></div></div></center></div><div class='col-md-3'></div></div>"; 
      return $return; 
     break; 
    endswitch;  
} 

В настоящее время нет ошибок и неполадках. Мой вопрос в том, как сделать входной файл обязательным, если требуется столбца 1? , пожалуйста, помогите мне с кодом.

Я надеюсь, что мои объяснения легко понять. Заранее спасибо.

+0

Сначала измените внешние одинарные кавычки на двойные кавычки. Здесь '' {{URL :: to ('lender/dynamic')}} '' – C2486

+0

спасибо за ваш ответ, но это было сделано для чего? потому что теперь весь мой код уже работает. мне нужен код, как сделать необходимые поля, если требуется column = 1 – arbong

ответ

0

В вашем Еогеасп вы можете написать как:

foreach(Loop_attachment::where('groupid', Input::get('id'))->where('type2', Input::get('key'))->where('active', 1)->get() as $row) { 
     $required = $row->required ? 'required' : ''; 
     $return .= "<div class='row'><div class='col-md-3'></div><div class='col-md-6'><center><div class='form-group'><div class='btn btn-primary'><span>Upload $row->doctype</span> <input type='file' $required style='margin-bottom:1px;' class='form-control upload' name='image[]' id='image-$row->doctype'></div></div></center></div><div class='col-md-3'></div></div>"; 
    } 
0

Если вы хотите настроить запрос, выполняемый правила проверки, вы можете использовать класс Rule, чтобы свободно определить rule.You также указать проверку правила, как массив вместо использования | характера разграничить их:

use Illuminate\Validation\Rule; 

Validator::make($request, [ 
    'input_field_name' => [ 
     Rule::exists('table_name')->where(function ($query) { 
      $query->where('required', 1); 
     }), 
    ], 
]); 

чтобы узнать больше о Laravel Validation визита: https://laravel.com/docs/5.3/validation#rule-exists

Смежные вопросы