code: func (e *RequiredValidator) Validate(s interface{}) error {
  	if e.TagName == "" {
  		e.TagName = "required"
  	}
  
  	if e.TagValue == "" {
  		e.TagValue = "true"
  	}
  
  	for _, field := range structs.Fields(s) {
  		if err := e.processField("", field); err != nil {
  			return err
  		}
  	}
  
  	return nil
  }
docs: // Validate validates the given struct agaist field's zero values. If
  // intentionaly, the value of a field is `zero-valued`(e.g false, 0, "")
  // required tag should not be set for that field.