Completed
Push — master ( b877df...b3f08b )
by Christopher
01:17
created

ValidateTagIds   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 0
dl 0
loc 30
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A passes() 0 10 3
A message() 0 4 1
1
<?php
2
3
namespace Chriscreates\Blog\Rules;
4
5
use Chriscreates\Blog\Tag;
6
use Illuminate\Contracts\Validation\Rule;
7
8
class ValidateTagIds implements Rule
9
{
10
    /**
11
     * Determine if the validation rule passes.
12
     *
13
     * @param  string  $attribute
14
     * @param  mixed  $value
15
     * @return bool
16
     */
17
    public function passes($attribute, $value)
18
    {
19
        foreach ($value as $tag_id) {
20
            if ( ! Tag::where('id', $tag_id)->exists()) {
21
                return false;
22
            }
23
        }
24
25
        return true;
26
    }
27
28
    /**
29
     * Get the validation error message.
30
     *
31
     * @return string
32
     */
33
    public function message()
34
    {
35
        return 'The tag(s) selected is invalid or does not exist.';
36
    }
37
}
38