add validation for vlan range inputs

Vlan range inputs should be in the format of begin:end
where begin and end are integers between 1 and 4024,
and end is greater than or equal to begin
It was really hard for me to read, i would suggest something like:
```ruby
      return if value.empty?
      
      if value !~ /\A\d+:\d+\Z/
        record.errors.add attribute, GENERAL_MSG
        return
      end
      
      range_values = value.split(':').map(&:to_i)
      
      range_values.all? do |value|
        if value.between?(FIRST_VALID, LAST_VALID)
          true
        else
          record.errors.add attribute, "Range #{value} #{INT_VAL_MSG}"
          false
        end
      end or return
      
      unless values[1] >= values[0]
        record.errors.add attribute, "End VLAN ID must be equal to or greater than start VLAN ID."
      end
```