All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.commons.validator.DateValidator Maven / Gradle / Ivy

Go to download

Apache Commons Validator provides the building blocks for both client side validation and server side data validation. It may be used standalone or with a framework like Struts.

There is a newer version: 1.8.0
Show newest version
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.apache.commons.validator;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Locale;

/**
 * 

Perform date validations.

*

* This class is a Singleton; you can retrieve the instance via the * getInstance() method. *

* * @version $Revision: 1739358 $ * @since Validator 1.1 * @deprecated Use the new DateValidator, CalendarValidator or TimeValidator in the * routines package. This class will be removed in a future release. */ @Deprecated public class DateValidator { /** * Singleton instance of this class. */ private static final DateValidator DATE_VALIDATOR = new DateValidator(); /** * Returns the Singleton instance of this validator. * @return A singleton instance of the DateValidator. */ public static DateValidator getInstance() { return DATE_VALIDATOR; } /** * Protected constructor for subclasses to use. */ protected DateValidator() { super(); } /** *

Checks if the field is a valid date. The pattern is used with * java.text.SimpleDateFormat. If strict is true, then the * length will be checked so '2/12/1999' will not pass validation with * the format 'MM/dd/yyyy' because the month isn't two digits. * The setLenient method is set to false for all.

* * @param value The value validation is being performed on. * @param datePattern The pattern passed to SimpleDateFormat. * @param strict Whether or not to have an exact match of the datePattern. * @return true if the date is valid. */ public boolean isValid(String value, String datePattern, boolean strict) { if (value == null || datePattern == null || datePattern.length() <= 0) { return false; } SimpleDateFormat formatter = new SimpleDateFormat(datePattern); formatter.setLenient(false); try { formatter.parse(value); } catch(ParseException e) { return false; } if (strict && (datePattern.length() != value.length())) { return false; } return true; } /** *

Checks if the field is a valid date. The Locale is * used with java.text.DateFormat. The setLenient method * is set to false for all.

* * @param value The value validation is being performed on. * @param locale The locale to use for the date format, defaults to the default * system default if null. * @return true if the date is valid. */ public boolean isValid(String value, Locale locale) { if (value == null) { return false; } DateFormat formatter = null; if (locale != null) { formatter = DateFormat.getDateInstance(DateFormat.SHORT, locale); } else { formatter = DateFormat.getDateInstance( DateFormat.SHORT, Locale.getDefault()); } formatter.setLenient(false); try { formatter.parse(value); } catch(ParseException e) { return false; } return true; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy