Ограничить выбранные параметры в Laravel - PullRequest
0 голосов
/ 13 октября 2018

Я использую метод sync в приложении Laravel для связанных таблиц, например: post tags post_tags Теперь я хочу ограничить выбор пользовательских тегов до 3 означает пользователю не разрешено выбирать более 3 тегов.Как я могу это сделать?

Blade

{{ Form::label('tags', 'Tags') }}
{{ Form::select('tags[]', $tags2, null, 
    ['class' => 'chosen-select', 'multiple' => 'multiple'])}}

Контроллер-> edit ()

public function edit()
{
    $tags = Tag::orderby('title', 'desc')->get();
    $tags2 = array();
    foreach ($tags as $tag) {
        $tags2[$tag->id] = $tag->title;
    }
}

Controller-> update ()

public function update(Request $request)
{
   $post->save();
   $post->tags()->sync($request->tags);
}

1 Ответ

0 голосов
/ 13 октября 2018

Вы можете использовать jQuery в своем интерфейсе и ограничить выбор пользователей.

Используя событие change, вы можете сделать что-то вроде этого:

var limit = 3;
$('input.single-checkbox').on('change', function(evt) {
   if($(this).siblings(':checked').length >= limit) {
       this.checked = false;
   }
});
...