Files
old-svijetlastrana/server/validation/visit.go
2018-05-18 18:55:00 +02:00

37 lines
1.4 KiB
Go

package validation
import (
"bitbucket.org/nemt/nemt-portal-api/application/viewmodel"
"bitbucket.org/nemt/nemt-portal-api/infra/errors"
)
func ValidateVisit(visit *viewmodel.Visit, user *viewmodel.User) []errors.ValidationError {
var result []errors.ValidationError
if len(visit.User.First) == 0 {
result = append(result, errors.ValidationError{Field: "first", Message: "Step #1 - First Name is mandatory"})
}
if len(visit.User.Last) == 0 {
result = append(result, errors.ValidationError{Field: "last", Message: "Step #1 - Last Name is mandatory"})
}
if visit.User.Gender == nil || (*visit.User.Gender != "M" && *visit.User.Gender != "F" && *visit.User.Gender != "U") {
result = append(result, errors.ValidationError{Field: "gender", Message: "Step #1 - Gender is mandatory"})
}
if visit.User.Type == nil || (*visit.User.Type != "S" && *visit.User.Gender != "D" && *visit.User.Gender != "U") {
result = append(result, errors.ValidationError{Field: "type", Message: "Step #1 - Member Type is mandatory"})
}
if visit.User.Member == nil || len(*visit.User.Member) == 0 {
result = append(result, errors.ValidationError{Field: "member", Message: "Step #1 - Member # is mandatory"})
}
if visit.User.BirthDate == nil || visit.User.BirthDate.IsZero() {
result = append(result, errors.ValidationError{Field: "birthdate", Message: "Step #1 - Birth Date is mandatory"})
}
return result
}