MIF_E31222379_BE/dto/userpin.go

48 lines
1.0 KiB
Go

package dto
import (
"fmt"
"github.com/go-playground/validator/v10"
)
type PinResponse struct {
CreatedAt string `json:"createdAt"`
}
type PinInput struct {
Pin string `json:"pin" validate:"required,len=6,numeric"`
}
func (p *PinInput) ValidateCreate() error {
err := validate.Struct(p)
if err != nil {
for _, e := range err.(validator.ValidationErrors) {
switch e.Field() {
case "Pin":
return fmt.Errorf("PIN harus terdiri dari 6 digit angka")
}
}
}
return nil
}
type PinUpdateInput struct {
OldPin string `json:"old_pin" validate:"required,len=6,numeric"`
NewPin string `json:"new_pin" validate:"required,len=6,numeric"`
}
func (p *PinUpdateInput) ValidateUpdate() error {
err := validate.Struct(p)
if err != nil {
for _, e := range err.(validator.ValidationErrors) {
switch e.Field() {
case "OldPin":
return fmt.Errorf("PIN lama harus terdiri dari 6 digit angka")
case "NewPin":
return fmt.Errorf("PIN baru harus terdiri dari 6 digit angka")
}
}
}
return nil
}