class_docstr: Convert text values from one or more columns into slugs. If multiple column
  names are given, values from those columns will be appended in the given
  order before standardizing.
  
  :param column_name:
      The name of a column or a sequence of column names containing
      :class:`.Text` values.
  :param ensure_unique:
      If True, any duplicate values will be appended with unique identifers.
      Defaults to False.
class_docstr_tok: ["Convert","text","values","from","one","or","more","columns","into","slugs",".","If","multiple","column","names","are","given",",","values","from","those","columns","will","be","appended","in","the","given","order","before","standardizing",".",":","param","column_name",":","The","name","of","a","column","or","a","sequence","of","column","names","containing",":","class",":","`",".Text","`","values",".",":","param","ensure_unique",":","If","True",",","any","duplicate","values","will","be","appended","with","unique","identifers",".","Defaults","to","False","."]
code: def validate(self, table):
      if issequence(self._column_name):
          column_names = self._column_name
      else:
          column_names = [self._column_name]
  
      for column_name in column_names:
          column = table.columns[column_name]
  
          if not isinstance(column.data_type, Text):
              raise DataTypeError("Slug column must contain Text data.")
  
          if HasNulls(column_name).run(table):
              raise ValueError("Slug column cannot contain `None`.")
  
file_path: agate/agate/computations/slug.py
imports: from agate.aggregations.has_nulls import HasNulls
  from agate.computations.base import Computation
  from agate.data_types import Text
  from agate.exceptions import DataTypeError
  from agate.utils import issequence, slugify
label_desc: Use image node_id 3 for calling the Slug obj's underlying member method code with example usage: obj.validate(table) without return types