44 lines
959 B
Go
44 lines
959 B
Go
package dto
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/go-playground/validator/v10"
|
|
)
|
|
|
|
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
|
|
} |