From 1c09846d3efa4eb5f7dce0e36a6f4e363857ebc2 Mon Sep 17 00:00:00 2001 From: John Guo Date: Tue, 1 Jun 2021 20:09:52 +0800 Subject: [PATCH] fix issue #1272 --- util/gvalid/gvalid_validator_check_value.go | 11 +---------- util/gvalid/gvalid_z_unit_basic_all_test.go | 7 +++++-- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/util/gvalid/gvalid_validator_check_value.go b/util/gvalid/gvalid_validator_check_value.go index e470d96dc92..a72cee3b3b0 100644 --- a/util/gvalid/gvalid_validator_check_value.go +++ b/util/gvalid/gvalid_validator_check_value.go @@ -208,16 +208,7 @@ func (v *Validator) doCheckBuildInRules( if v, ok := value.(apiTime); ok { return !v.IsZero(), nil } - // Standard date string, which must contain char '-' or '.'. - if _, err := gtime.StrToTime(valueStr); err == nil { - match = true - break - } - // Date that not contains char '-' or '.'. - if _, err := gtime.StrToTime(valueStr, "Ymd"); err == nil { - match = true - break - } + match = gregex.IsMatchString(`\d{4}[\.\-\_/]{0,1}\d{2}[\.\-\_/]{0,1}\d{2}`, valueStr) // Date rule with specified format. case "date-format": diff --git a/util/gvalid/gvalid_z_unit_basic_all_test.go b/util/gvalid/gvalid_z_unit_basic_all_test.go index 75f22609bd9..30f44e470d0 100755 --- a/util/gvalid/gvalid_z_unit_basic_all_test.go +++ b/util/gvalid/gvalid_z_unit_basic_all_test.go @@ -236,6 +236,7 @@ func Test_Date(t *testing.T) { val5 := "2010.11.01" val6 := "2010/11/01" val7 := "2010=11=01" + val8 := "123" err1 := gvalid.CheckValue(context.TODO(), val1, rule, nil) err2 := gvalid.CheckValue(context.TODO(), val2, rule, nil) err3 := gvalid.CheckValue(context.TODO(), val3, rule, nil) @@ -243,13 +244,15 @@ func Test_Date(t *testing.T) { err5 := gvalid.CheckValue(context.TODO(), val5, rule, nil) err6 := gvalid.CheckValue(context.TODO(), val6, rule, nil) err7 := gvalid.CheckValue(context.TODO(), val7, rule, nil) - t.Assert(err1, nil) - t.Assert(err2, nil) + err8 := gvalid.CheckValue(context.TODO(), val8, rule, nil) + t.AssertNE(err1, nil) + t.AssertNE(err2, nil) t.Assert(err3, nil) t.Assert(err4, nil) t.Assert(err5, nil) t.Assert(err6, nil) t.AssertNE(err7, nil) + t.AssertNE(err8, nil) }) }