niki/driverapp/service/validator.go

41 lines
965 B
Go

package service
import (
"regexp"
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
validation "github.com/go-ozzo/ozzo-validation"
)
const (
PhoneNumberRegex = "^(0|0098|\\+98)9(0[1-5]|[1 3]\\d|2[0-2]|98)\\d{7}$"
)
type Validator struct{}
func NewValidator() Validator {
return Validator{}
}
func (v Validator) ValidateSendOtpRequest(req SendOtpRequest) error {
err := validation.ValidateStruct(&req,
validation.Field(req.PhoneNumber,
validation.Required,
validation.Match(regexp.MustCompile(PhoneNumberRegex)).Error(errmsg.ErrorMsgPhoneNumberIsNotValid),
))
return err
}
func (v Validator) ValidateLoginOrRegisterRequest(req LoginOrRegisterRequest) error {
err := validation.ValidateStruct(&req,
validation.Field(req.PhoneNumber,
validation.Required,
validation.Match(regexp.MustCompile(PhoneNumberRegex)).Error(errmsg.ErrorMsgPhoneNumberIsNotValid)),
validation.Field(req.VerifyCode,
validation.Required))
return err
}