code: func (service *Service) handlePhoneValidation(w http.ResponseWriter, request *http.Request, registration bool) {
  	err := request.ParseForm()
  	if err != nil {
  		log.Debug(err)
  		http.Error(w, http.StatusText(http.StatusBadRequest), http.StatusBadRequest)
  		return
  	}
  
  	values := request.Form
  	key := values.Get("k")
  	smscode := values.Get("c")
  	langKey := values.Get("l")
  
  	translationValues := tools.TranslationValues{
  		"invalidlink":      nil,
  		"error":            nil,
  		"smsconfirmed":     nil,
  		"return_to_window": nil,
  	}
  
  	translations, err := tools.ParseTranslations(langKey, translationValues)
  	if err != nil {
  		log.Error("Failed to parse translations: ", err)
  		return
  	}
  
  	if registration {
  		err = service.phonenumberValidationService.ConfirmRegistrationValidation(request, key, smscode)
  	} else {
  		err = service.phonenumberValidationService.ConfirmValidation(request, key, smscode)
  	}
  	if err == validation.ErrInvalidCode || err == validation.ErrInvalidOrExpiredKey {
  		service.renderSMSConfirmationPage(w, request, translations["invalidlink"], "")
  		return
  	}
  	if err != nil {
  		log.Error(err)
  		service.renderSMSConfirmationPage(w, request, translations["error"], "")
  		return
  	}
  
  	service.renderSMSConfirmationPage(w, request, translations["smsconfirmed"], translations["return_to_window"])
  }
docs: // handlePohneValidation is the actual handling of phone validation pages.