輸入日期驗證

此系統工具函式對於日期正確性的檢驗,以這裡的check()函式為準,亦即要求輸入的日期是真實存在的民國年月日期。

boolean check(input)
  • 適用於:YYYMMDD / YYYMM
  • 若輸入格式不合法,或輸入的日期不存在,如非閏年的2/29,皆回傳False。
int checkButIgnore(dateStr, ignorePatterns…)
  • 適用於:YYYMMDD
  • 驗證原則同check(),當輸入合法時,回傳為0;否則為-1;
  • 但當輸入資料匹配於任一ignored pattern時,回傳為符合第幾個Pattern (based on 1)。因為有時允許使用者輸入特殊日期,以觸發替代流程,所以需要知道輸入資料符合哪一個Pattern。
    assertEquals(-1, YYYMMDDUtils.checkButIgnore("0940229"));
    assertEquals(-1, YYYMMDDUtils.checkButIgnore("0940229", "0000000"));
    assertEquals(0, YYYMMDDUtils.checkButIgnore("0980803", "0000000", ""));
    assertEquals(1, YYYMMDDUtils.checkButIgnore("0000000", "0000000", ""));
    assertEquals(2, YYYMMDDUtils.checkButIgnore("", "0000000", ""));
    assertEquals(2, YYYMMDDUtils.checkButIgnore("", "0000000", " *"));
    assertEquals(2, YYYMMDDUtils.checkButIgnore("       ", "0000000", " +"));
    

results matching ""

    No results matching ""