`

DateValidator

阅读更多
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateValidator extends BaseValidator implements GracieValidator{
    
    public DateValidator() {
        
    }
    
    public static final String GLOBAL_DATE_FORMAT = Util.GLOBAL_DATE_FORMAT;
    public static final String CUSTOMER_DATE_FORMAT = "DD/MM/YYYY";
    
    /**
     * Validation Rule: Validate the input text whether it is valid date string or not by using global date format
     * @param inputText          Input string text
     * @return boolean           Return true when the input text is valid date string or not by using global date format,
     *                           otherwise return false.
     */
    public static boolean validateDateByDefaultFormat(String inputText) {
        return DateValidator.validateDate(inputText, DateValidator.GLOBAL_DATE_FORMAT);
    }
    
    /**
     * Validation Rule: Validate the input text whether it is valid date string or not by using global date format
     * @param inputText          Input string text
     * @param fieldErrorParam    Field error tag parameter
     * @param fieldErrorMessage  Field error message
     * @return boolean           Return true when the input text is valid date string or not by using global date format,
     *                           otherwise return false.
     */
    public static boolean validateDateByDefaultFormat(String inputText, String fieldErrorParam, String fieldErrorMessage) {
        boolean isValid = DateValidator.validateDateByDefaultFormat(inputText);
        
        if (!isValid) {
            addFieldErrorMessage(fieldErrorParam, fieldErrorMessage);
        }
        
        return isValid;
    }
    
    /**
     * Validation Rule: Validate the input text whether it is valid date string or not by using global date format
     * @param inputText          Input string text
     * @param fieldErrorParam    Field error tag parameter
     * @param bundle             Language property file id
     * @param key                Message key
     * @param defaultMessage     Default message
     * @param arguments          The arguments of message
     * @return boolean           Return true when the input text is valid date string or not by using global date format,
     *                           otherwise return false.
     */
    public static boolean validateDateByDefaultFormat(String inputText, String fieldErrorParam, 
            String bundle, String key, String defaultMessage, String[] arguments) {
        boolean isValid = DateValidator.validateDateByDefaultFormat(inputText);
        
        if (!isValid) {
            String fieldErrorMessage = MessageUtil.getText(bundle, key, defaultMessage, arguments);
            addFieldErrorMessage(fieldErrorParam, fieldErrorMessage);
        }
        
        return isValid;
    }
    
    
    /**
     * Validation Rule: Validate the input text whether it is valid date string or not by using customer date format
     * @param inputText          Input string text
     * @return boolean           Return true when the input text is valid date string or not by using customer date format,
     *                           otherwise return false.
     */
    public static boolean validateDateByCustomerFormat(String inputText) {       
        return DateValidator.validateDate(inputText, DateValidator.CUSTOMER_DATE_FORMAT);
    }
    
    /**
     * Validation Rule: Validate the input text whether it is valid date string or not by using customer date format
     * @param inputText          Input string text
     * @param fieldErrorParam    Field error tag parameter
     * @param fieldErrorMessage  Field error message
     * @return boolean           Return true when the input text is valid date string or not by using customer date format,
     *                           otherwise return false.
     */
    public static boolean validateDateByCustomerFormat(String inputText, String fieldErrorParam, String fieldErrorMessage) {       
        boolean isValid = DateValidator.validateDateByCustomerFormat(inputText);
        
        if (!isValid) {
            addFieldErrorMessage(fieldErrorParam, fieldErrorMessage);
        }
        
        return isValid;
    }
    
    /**
     * Validation Rule: Validate the input text whether it is valid date string or not by using customer date format
     * @param inputText          Input string text
     * @param fieldErrorParam    Field error tag parameter
     * @param bundle             Language property file id
     * @param key                Message key
     * @param defaultMessage     Default message
     * @param arguments          The arguments of message
     * @return boolean           Return true when the input text is valid date string or not by using customer date format,
     *                           otherwise return false.
     */
    public static boolean validateDateByCustomerFormat(String inputText, String fieldErrorParam, 
            String bundle, String key, String defaultMessage, String[] arguments) {     
        boolean isValid = DateValidator.validateDateByCustomerFormat(inputText);
        
        if (!isValid) {
            String fieldErrorMessage = MessageUtil.getText(bundle, key, defaultMessage, arguments);
            addFieldErrorMessage(fieldErrorParam, fieldErrorMessage);
        }
        
        return isValid;
    }
    
    
    /**
     * Validation Rule: Validate the input text whether it is valid date string or not by using specified date format
     * @param inputText          Input string text
     * @return boolean           Return true when the input text is valid date string or not by using specified date format,
     *                           otherwise return false.
     */
    private static boolean validateDate(String inputText, String format) {
        boolean isValid = false;
        
        try {
            if (!Util.isEmpty(inputText)) {
                DateFormat formatter = new SimpleDateFormat(format);
                Date date = formatter.parse(inputText);
                 
                if (formatter.format(date).equalsIgnoreCase(inputText)) {
                    isValid = true;
                } else {
                    isValid = false;
                }
            } else {
                isValid = true;
            }
        } catch (Exception e) {
            isValid = false;
        }
        
        return isValid;
    }
    
	public boolean isValid(String inputText) {
		return validateDateByDefaultFormat(inputText);
	}

	public boolean isValid(String inputText, String fieldErrorParam, String bundle, String key, String defaultMessage, String[] arguments) {
		return DateValidator.validateDateByDefaultFormat(inputText, fieldErrorParam, bundle, key, defaultMessage, arguments);
	}

	public boolean isValid(String inputText, String fieldErrorParam, String fieldErrorMessage) {
		return DateValidator.validateDateByDefaultFormat(inputText, fieldErrorParam, fieldErrorMessage);
	}
	
	public boolean isValid(String inputText, Object[] objs) {
		String format = (String) objs[0];
		return validateDate(inputText,format);
	}

}

 

分享到:
评论

相关推荐

    node-DateValidator:一个简单的年,月,日验证器,可在Node.js和浏览器中使用

    DateValidator DateValidator项目将为客户端JavaScript和服务器端JavaScript创建一个简单的Date验证器。 目前,我们的目标是使事情变小,并仅关注确保日,月和年有效。 它无意具有node-dateutils项目的功能。安装 ...

    flex----组件---数据验证类

    var dateValidator:DateValidator = new DateValidator(); dateValidator.source = myDateInput; dateValidator.property = "text"; dateValidator.dateFormatter = dateFormatter; ``` 这里,`dateFormatter`将...

    一段验证日期的有效性的JAVA代码

    在这段代码中,我们创建了一个名为`DateValidator`的类,包含一个静态方法`isValidDate`。这个方法接受一个`String`参数,即待验证的日期字符串。`DATE_FORMAT`常量定义了期望的日期格式,这里是"年-月-日"。 我们...

    Flex考试题.docx

    - `<mx:DateValidator>`用于验证日期格式。 ### Flex组件 1. **单选按钮:** - 使用`<mx:RadioButton>`来创建单选按钮,而不是label、group等标签。 2. **TextInput组件的属性:** - text:获取或设置文本框中...

    flex组件之验证组件实例源码

    3. **DateValidators**: 用于日期和时间输入的验证,如DateValidator(验证日期格式和范围)。 4. **CustomValidators**: 开发者可以自定义验证逻辑,创建自己的验证组件,满足特定需求。 在提供的...

    (十五)Flex4_格式化与校验器

    内置的验证器包括StringValidator(用于检查字符串长度或格式)、NumberValidator(检查数值范围)以及DateValidator(验证日期格式)。此外,使用mx.validators.Validator可以实现复杂的业务逻辑验证,例如检查电子...

    Flex基础培训-5-[数据验证

    3. 验证日期:<mx:DateValidator> 4. 验证Email: 5. 验证数字: 6. 验证电话号码: 7. 验证正则表达式: 8. 验证加密数字: 9. 验证字符串: 10. 验证邮政编码: 五、校验器的使用技巧 在Flex中使用校验器进行数据...

    Flex数据显示与数据验证

    在Flex中,可以通过内置的验证器类来实现这一目标,这些验证器包括但不限于`CreditCardValidator`、`CurrencyValidator`、`DateValidator`和`EmailValidator`等。 #### 验证器的使用方式 验证器通常被定义在组件的...

    Web中Date类型解决方法

    public class DateValidator { public static boolean isValidDate(String sDate) { String datePattern1 = "\\d{4}-\\d{2}-\\d{2}"; String datePattern2 = "^((\\d{2}(([02468][048])|([13579][26]))" + "[\\-...

    Yii2验证器(Validator)用法分析

    Yii2框架中的验证器(Validator)是用于对用户输入的数据进行校验的工具,以保证数据的正确性和完整性。以下内容将详细介绍Yii2验证器的用法,功能、格式和注意事项。 首先,Yii2的验证器使用方法主要是通过模型的...

    详解Yii2 rules 的验证规则

    4. `DateValidator`:用于校验日期格式是否正确,支持多种日期格式。 5. `DefaultValueValidator`:用于提供字段的默认值,如果该字段为空,则使用默认值。 6. `NumberValidator`:用于校验数字,可以进行整数或...

    vscode-flex-snippets:适用于Visual Studio Code的Flex(MX和Spark)代码段

    VSCode的Flex代码段 快速创建MX和Spark组件。 如何使用 在VSCode中安装扩展 ... DateValidator DropDownList Ellipse MX Form Spark Form Group HBox HGroup HorizontalLayout HTTPService

Global site tag (gtag.js) - Google Analytics