If you do have a contribution to the package, feel free to create a Pull Request or an Issue.

What to contribute

If you don't know what to do, there are some features and functions that need to be done

  • [ ] Refactor code
  • [ ] Edit docs and README: spellcheck, grammar and typo check
  • [ ] Create actual list of contributors and projects that currently using this package
  • [ ] Resolve issues and bugs
  • [ ] Update actual list of functions
  • [ ] Update list of validators that available for ValidateStruct and add new
  • [ ] Implement new validators: IsFQDN, IsIMEI, IsPostalCode, IsISIN, IsISRC etc
  • [x] Implement validation by maps
  • [ ] Implement fuzzing testing
  • [ ] Implement some struct/map/array utilities
  • [ ] Implement map/array validation
  • [ ] Implement benchmarking
  • [ ] Implement batch of examples
  • [ ] Look at forks for new features and fixes


Feel free to create what you want, but keep in mind when you implement new features:

  • Code must be clear and readable, names of variables/constants clearly describes what they are doing
  • Public functions must be documented and described in source file and added to to the list of available functions
  • There are must be unit-tests for any new functions and improvements

Financial contributions

We also welcome financial contributions in full transparency on our open collective. Anyone can file an expense. If the expense makes sense for the development of the community, it will be “merged” in the ledger of our open collective by the core contributors and the person who filed the expense will be reimbursed.



Thank you to all the people who have already contributed to govalidator!


Thank you to all our backers! [Become a backer]


Thank you to all our sponsors! (please ask your company to also support this open source project by becoming a sponsor)