@@ -49,29 +49,33 @@ public void setValue(String format, Date value) {
4949 }
5050
5151 public boolean validate (String format ) {
52- if (valuebox .getText () != null && !valuebox .getText ().isEmpty ()
53- && valuebox .getMask () != null && format != null ) {
54- format = format .toLowerCase ();
55- String dateString = valuebox .getValueWithMask ();
56- String month = dateString .substring (format .indexOf ("m" ), format .indexOf ("m" ) + 2 );
57- String day = dateString .substring (format .indexOf ("d" ), format .indexOf ("d" ) + 2 );
58- String year = dateString .substring (format .indexOf ("y" ), format .lastIndexOf ("y" ) + 1 );
59-
60- boolean validLeapYear = validateLeapYear (day , month , Integer .parseInt (year ));
61- if (!validLeapYear ) {
62- valuebox .setErrorText ("Not a valid date" );
52+ try {
53+ if (valuebox .getText () != null && !valuebox .getText ().isEmpty ()
54+ && valuebox .getMask () != null && format != null ) {
55+ format = format .toLowerCase ();
56+ String dateString = valuebox .getValueWithMask ();
57+ String month = dateString .substring (format .indexOf ("m" ), format .indexOf ("m" ) + 2 );
58+ String day = dateString .substring (format .indexOf ("d" ), format .indexOf ("d" ) + 2 );
59+ String year = dateString .substring (format .indexOf ("y" ), format .lastIndexOf ("y" ) + 1 );
60+
61+ boolean validLeapYear = validateLeapYear (day , month , Integer .parseInt (year ));
62+ if (!validLeapYear ) {
63+ valuebox .setErrorText ("Not a valid date" );
64+ }
65+
66+ boolean valid = validate (month , getMonthRegex (), getMothDoesNotMatchError ())
67+ && validate (day , getDayRegex (), getDayDoesNotMatchError ())
68+ && validate (year , getYearRegex (), getYearDoesNotMatchError ())
69+ && validLeapYear ;
70+
71+ if (valid ) {
72+ valuebox .clearStatusText ();
73+ }
74+
75+ return valid ;
6376 }
64-
65- boolean valid = validate (month , getMonthRegex (), getMothDoesNotMatchError ())
66- && validate (day , getDayRegex (), getDayDoesNotMatchError ())
67- && validate (year , getYearRegex (), getYearDoesNotMatchError ())
68- && validLeapYear ;
69-
70- if (valid ) {
71- valuebox .clearStatusText ();
72- }
73-
74- return valid ;
77+ } catch (Exception e ) {
78+ valuebox .setErrorText ("Not a valid date" );
7579 }
7680 return false ;
7781 }
0 commit comments