Package validator implements value validations for structs and individual fields based on tags. It has the following unique features: Cross Field and Cross Struct validations by using validation tags or custom validators. Slice, Array and Map diving, which allows any or all levels of a multidimensional field to be validated. Ability to dive into both map keys and values for validation Handles type