@@ -1597,6 +1597,59 @@ func TestIssues_247(t *testing.T) {
1597
1597
fmt .Println (v .Errors )
1598
1598
}
1599
1599
1600
+ // https://github.com/gookit/validate/issues/250
1601
+ // Does not work with *int ?
1602
+ func TestIssues_250 (t * testing.T ) {
1603
+ type Salary struct {
1604
+ MinSalary * int `json:"MinSalary" validate:"int|min:10000" message:"The minimum salary is 10.000 EUR"`
1605
+ OkSalary * int `json:"OkSalary" validate:"int|min:10000" message:"The ok salary is larger than 10.000 EUR"`
1606
+ HappySalary * int `json:"HappySalary" validate:"int|min:10000" message:"The happy salary is larger than 10.000 EUR"`
1607
+ }
1608
+
1609
+ // works: optional
1610
+ st := & Salary {}
1611
+ v := validate .Struct (st )
1612
+ assert .True (t , v .Validate ())
1613
+
1614
+ // works
1615
+ iv := 3
1616
+ st = & Salary {
1617
+ MinSalary : & iv ,
1618
+ }
1619
+ v = validate .Struct (st )
1620
+ assert .False (t , v .Validate ())
1621
+ assert .ErrMsg (t , v .Errors , "MinSalary: The minimum salary is 10.000 EUR" )
1622
+
1623
+ // works: use zero value
1624
+ iv2 := 0
1625
+ st = & Salary {
1626
+ MinSalary : & iv2 ,
1627
+ }
1628
+ v = validate .Struct (st )
1629
+ assert .False (t , v .Validate ())
1630
+ assert .ErrMsg (t , v .Errors , "MinSalary: The minimum salary is 10.000 EUR" )
1631
+
1632
+ // case 2
1633
+ type A struct {
1634
+ A1 * int `validate:"int|min:200"`
1635
+ A2 * int `validate:"int|min:200"`
1636
+ }
1637
+
1638
+ // works
1639
+ i := 3
1640
+ pa := A {A1 : & i , A2 : nil }
1641
+ v = validate .Struct (pa )
1642
+ assert .False (t , v .Validate ())
1643
+ assert .StrContains (t , v .Errors .String (), "A1 min value is 200" )
1644
+
1645
+ // works
1646
+ i2 := 0
1647
+ pa = A {A1 : & i2 , A2 : nil }
1648
+ v = validate .Struct (pa )
1649
+ assert .False (t , v .Validate ())
1650
+ assert .StrContains (t , v .Errors .String (), "A1 min value is 200" )
1651
+ }
1652
+
1600
1653
// DataIssues252 struct
1601
1654
type DataIssues252 struct {
1602
1655
PtrStrings * []string `validate:"strings"`
0 commit comments