`

NumericValidator

阅读更多
public class NumericValidator extends BaseValidator implements GracieValidator {
    
    public NumericValidator() {
        
    }
    
    public static final String REGEX_NUMERIC = "^(-?\\d+)(\\.\\d+)?$";
    
    /**
     * Validation Rule: Only to accept "-, 0-9, ."
     * @param inputText          Input string text
     * @return boolean           Return true when input string is only composed by subtraction sign, decimal point and digits,
     *                           otherwise return false.
     */     
    public static boolean isNumeric(String inputText) {
        return RegexValidator.isValid(NumericValidator.REGEX_NUMERIC, inputText);
    }
    
    /**
     * Validation Rule: Only to accept "-, 0-9, ."
     * @param inputText          Input string text
     * @param fieldErrorParam    Field error tag parameter
     * @param fieldErrorMessage  Field error message
     * @return boolean           Return true when input string is only composed by subtraction sign, decimal point and digits,
     *                           otherwise return false.
     */     
    public static boolean isNumeric(String inputText, String fieldErrorParam, String fieldErrorMessage) {
        boolean isValid = NumericValidator.isNumeric(inputText);
        
        if (!isValid) {
            addFieldErrorMessage(fieldErrorParam, fieldErrorMessage);
        }
        
        return isValid;
    }
    
    /**
     * Validation Rule: Only to accept "-, 0-9, ."
     * @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 input string is only composed by subtraction sign, decimal point and digits,
     *                           otherwise return false.
     */     
    public static boolean isNumeric(String inputText, String fieldErrorParam, 
            String bundle, String key, String defaultMessage, String[] arguments) {
        boolean isValid = NumericValidator.isNumeric(inputText);
        
        if (!isValid) {
            String fieldErrorMessage = MessageUtil.getText(bundle, key, defaultMessage, arguments);
            addFieldErrorMessage(fieldErrorParam, fieldErrorMessage);
        }
        
        return isValid;
    }

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

	public boolean isValid(String inputText, String fieldErrorParam, String fieldErrorMessage) {
		return NumericValidator.isNumeric(inputText, fieldErrorParam, fieldErrorMessage);
	}

	public boolean isValid(String inputText) {
		return NumericValidator.isNumeric(inputText);
	}
    
	public boolean isValid(String inputText, Object[] objs) {
		return isValid(inputText);
	}

}

 

分享到:
评论

相关推荐

    WPF 数据.pdf

    public class NumericValidator : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value is int intValue && intValue >= 0) return...

    称重装置(CAD装配图).rar

    称重装置(CAD装配图).rar

    四轮轮毂电机驱动汽车DYC稳定性控制:基于最优分配理论的横摆力矩与轨迹跟踪控制研究 车辆工程

    内容概要:本文详细探讨了四轮轮毂电机驱动汽车(IEV)的动态横摆力矩控制(DYC),旨在提高车辆在不同附着系数路面上的稳定性。文章介绍了上下两层控制器的设计思路及其协同工作方式。上层控制器负责生成横摆力矩Mz,支持多种控制策略如滑膜控制(SMC)、线性二次调节(LQR)、模型预测控制(MPC),并提供了一段MATLAB代码示例来展示具体的实现方法。下层控制器则专注于将横摆力矩最优地分配到四个车轮,采用二次规划等高级算法确保每个车轮获得合适的驱动力。此外,文中还提到了Simulink与CarSim联合仿真的应用技巧以及一些实用的经验分享,例如如何避免高频抖振、优化参数调整、解决轮胎模型延迟等问题。 适合人群:从事自动驾驶、智能交通系统、电动汽车等领域研究的技术人员,尤其是对车辆动态控制感兴趣的工程师。 使用场景及目标:适用于需要深入理解四轮轮毂电机驱动汽车稳定性控制机制的研究项目,帮助研究人员掌握从理论到实践的具体步骤和技术细节,从而更好地应用于实际产品开发中。 其他说明:文中提供的代码片段和实践经验对于理解和实施复杂的车辆控制系统非常有价值,同时强调了在不同条件下保持车辆稳定性的挑战性和重要性。

    板栗脱蓬机的设计【板栗去毛刺机】【板栗去外壳机】.rar

    板栗脱蓬机的设计【板栗去毛刺机】【板栗去外壳机】.rar

    基于定子磁场定向矢量控制的异步电机磁链观测模型研究与应用 磁链观测

    内容概要:本文深入探讨了基于定子磁场定向矢量控制的异步电机磁链观测模型。首先介绍了磁链观测器的核心代码,包括电压模型和电流模型的关键部分。文中提到实际工程中常见的挑战,如参数漂移、传感器噪声以及温度变化对定子电阻的影响,并提出了相应的解决方案,如在线参数辨识和改进的坐标变换方法。此外,还讨论了不同模型之间的平滑切换策略,特别是带速度前馈的混合观测方法,有效降低了转矩脉动。最后强调了磁链观测在电机控制系统中的重要性和复杂性。 适合人群:从事电机控制领域的工程师和技术人员,尤其是对异步电机磁链观测感兴趣的读者。 使用场景及目标:适用于需要深入了解和解决异步电机磁链观测问题的实际工程项目。目标是提高磁链观测的精度和稳定性,从而提升电机控制系统的性能。 其他说明:本文不仅提供了理论分析,还分享了许多实践经验,对于理解和应对实际工程中的各种问题非常有帮助。

    AP4050DN FIT转FAT 包含固件和所需软件 要用console线 实测OK.zip

    AP4050DN FIT转FAT 包含固件和所需软件 要用console线 实测OK.zip

    综合能源系统规划中多目标粒子群算法MOPSO与多目标免疫算法NNIA的应用研究 粒子群算法

    内容概要:本文探讨了利用多目标粒子群算法(MOPSO)和多目标免疫算法(NNIA)解决综合能源系统的规划问题。文中详细介绍了这两种算法的工作原理及其具体实现方式,如粒子群算法中的粒子更新规则和免疫算法中的克隆操作。同时,文章还讨论了如何通过引入外部存档和拥挤度计算来提高解的多样性和分布均匀性。此外,作者分享了一些实践经验,指出MOPSO适用于快速收敛,而NNIA则在处理复杂环境变化方面表现更好。为了应对实际应用中的挑战,文中提出了一种结合惩罚项的目标函数设计方法,以处理设备启停等约束条件。最后强调了将算法与地理信息系统(GIS)相结合的重要性。 适合人群:从事综合能源系统规划的研究人员和技术人员,尤其是那些希望深入了解多目标优化算法在该领域的应用的人。 使用场景及目标:①需要进行高效、稳定的综合能源系统规划;②希望通过多目标优化算法平衡成本、环境影响和系统稳定性之间的关系;③寻求理论与实践相结合的方法论指导。 其他说明:尽管MOPSO和NNIA各有优势,但在实际项目中往往需要结合两者的特点,发挥各自长处,同时注意与其他工程技术手段相融合。

    室内场景三维重建-基于单目RGBD相机实现的实时室内场景3D重建算法-附项目源码+流程教程-优质项目实战.zip

    室内场景三维重建_基于单目RGBD相机实现的实时室内场景3D重建算法_附项目源码+流程教程_优质项目实战

    清华TH-OCR v9.0免费版

    今天向大家介绍一款非常好用的单机版OCR图文识别软件,它不仅功能多,识别能力强,而且还是免费使用的。OCR软件为什么要使用单机版,懂得都懂,因为如果使用在线识别的OCR软件,用户需要将文档上传互联网服务器的,这样就会导致某些敏感信息暴露在互联网上,导致信息泄露。 软件特色:   1、识别率高、速度快:对于被划分区域内的文字有很高的识别率,而且速度同样很快。   2、导出功能:清华TH-OCR官方版可以将带有表格的文当导出成为RTF格式的文件,从而允许用户在Word等应用程序中继续进行编辑。   3、版面自动分析:对图文混排的文件具有版面自动分析功能,它自动对扫描的版面进行分析,把应识别的文字区域划分出来,之后进行识别。   4、转换图像格式:将扫描进来的图像格式转换成TIFF、BMP或PCZ等格式,具有很大的灵活性。   5、批量识别:可以让用户一次把多页文稿全部扫描之后再进行识别,避免了扫描一页识别一页带来的麻烦,这一版本最多可实现10000页的批量识别。   6、手写体识别:手写的信件或文件就可以扫描到计算机中,识别出来后用电子文档的方式进行保存。   7、自学习:当遇到有生僻字时,可以通过键盘输入进行学习,用户就可以自由地添加一些本来不“认识”的字,大大拓宽了中文OCR系统的识别字符集。   8、排版功能:汉字和英文混排、日文和英文混排、韩文和英文混排同时识别。   9、识别能力:是唯一可以识别2万多汉字的多体文字识别系统,汉字识别国内最优。   10、支持多接口:文通TH-OCR支持WINDOWS环境和GB、BIG5、GBK、JIS、 SHIFT-JIS和KSC等多种内码,适合全球各个地区使用。TH-OCR还具有自学习功能,不论什么生僻字,都可以通过键盘输入进行学习,大大拓宽了OCR系统的识别字符集。

    附件4:大学生创新训练项目计划申请书(1).doc

    附件4:大学生创新训练项目计划申请书(1).doc

    纯DOS批处理脚本:去掉快捷方式箭头

    纯DOS批处理脚本:去掉快捷方式箭头

    图论算法基于Tarjan算法的有向图强连通分量求解及其应用:网络结构与依赖关系分析

    内容概要:本文详细介绍了Tarjan算法及其在求解有向图强连通分量(SCC)中的应用。首先解释了连通性的概念,区分了无向图和有向图的连通分量,重点阐述了有向图中强连通分量的定义及其重要性,包括编译器优化、社交网络分析、电子电路设计和生态系统建模等领域。接着介绍了Tarjan算法的优势,如单次DFS遍历、线性时间复杂度和高效的空间利用。文章深入解析了算法的实现细节,包括发现时间数组、最低访问数组、栈状态标记和栈等数据结构的作用。最后,探讨了基于Tarjan算法的拓展应用,如图的缩点技术和2-SAT问题求解,展示了其在依赖关系分析、路径优化、控制流分析和任务调度等方面的应用。 适合人群:具备一定图论基础和编程经验的计算机科学专业学生、软件工程师以及从事算法研究和开发的技术人员。 使用场景及目标:①理解Tarjan算法的工作原理,掌握其在强连通分量识别中的具体实现;②学习如何通过缩点技术将复杂有向图简化为DAG,以优化路径计算和依赖分析;③掌握2-SAT问题的求解方法,提高对布尔可满足性问题的理解和处理能力。 阅读建议:本文内容较为深入,建议读者先熟悉图论基础知识,特别是深度优先搜索(DFS)的相关概念。在学习过程中,结合具体的例子和代码实现,逐步理解各个数据结构和算法步骤的作用,同时关注Tarjan算法在实际应用中的拓展和变种。

    Python简单用法-回顾速查

    简单代码

    Centos7的安装与相关环境软件部署

    Centos7的安装与相关环境软件部署

    单片式离合器(用于轿车、卡车等)solid edge.rar

    单片式离合器(用于轿车、卡车等)solid edge.rar

    ZH1105气缸盖三面钻组合机床设计.rar

    ZH1105气缸盖三面钻组合机床设计.rar

    六相永磁同步电机矢量控制仿真模型在MATLAB中的实现与优化 SVPWM

    内容概要:本文详细介绍了六相永磁同步电机矢量控制仿真模型在MATLAB中的实现方法及其优化技巧。首先解释了六相电机相较于传统三相电机的优势,特别是在可靠性和容错能力方面的提升。接着深入探讨了矢量控制的核心思想,即通过双重dq坐标系变换将定子电流分解为励磁分量和转矩分量,并提供了具体的Clarke变换Matlab函数实现。文中还讨论了电流环控制中存在的耦合问题以及解决方案,展示了前馈解耦的具体代码。此外,文章讲解了SVPWM模块的实现细节,强调了分层法的应用,并给出了调试过程中常见的错误及解决方法。最后,作者分享了一些实用的调试秘籍,确保仿真模型能够顺利运行并达到预期效果。 适用人群:从事电机控制系统研究和开发的技术人员,特别是对六相永磁同步电机感兴趣的科研工作者和工程师。 使用场景及目标:适用于需要进行六相永磁同步电机矢量控制仿真的项目,旨在帮助研究人员理解和掌握该类电机的控制原理和技术难点,提高仿真实验的成功率。 其他说明:本文不仅提供理论知识,还包括具体代码实现和调试经验,有助于读者快速上手并在实践中不断改进和完善自己的仿真模型。

    永磁同步电机无位置控制策略中旋转高频电压注入法的应用与效果 电力电子技术 旋转高频电压注入法:永磁同步电机无位置控制策略的优秀效果

    内容概要:本文详细介绍了旋转高频电压注入法在永磁同步电机无位置控制策略中的应用及其效果。首先阐述了该方法的基本原理,即通过在电机绕组端注入三相对称的高频电压信号,检测电流响应,经过信号处理获取转子位置与转速信息,从而实现无位置传感器控制。接着,文章结合实际案例,展示了该方法在新能源汽车中的成功应用,证明了其在降低成本、提高可靠性和精确控制方面的显著优势。最后,提供了简化的Python代码实现片段,帮助读者更好地理解和实践这一技术。 适合人群:从事电机控制、电力电子技术的研究人员和技术人员,以及对无位置传感器控制感兴趣的工程技术人员。 使用场景及目标:适用于需要提升永磁同步电机性能的场合,如工业自动化、航空航天、新能源汽车等领域。主要目标是降低系统成本,提高系统的可靠性和精度。 其他说明:本文不仅理论讲解详尽,还附有实际案例和代码实现,有助于读者全面掌握旋转高频电压注入法的技术细节和应用场景。

    【Android系统启动流程】基于init-boot过程的详细解析:涵盖Bootloader、Linux内核、init进程、Zygote及SystemServer启动机制

    内容概要:本文档详细阐述了Android设备从上电到启动完成的整个过程,包括BootROM、Bootloader引导程序、Linux内核、init进程、Zygote创建与启动应用以及SystemServer启动等环节。文档中还特别展示了各阶段的代码流程图,深入解析了init进程解析init.rc文件、创建Zygote进程和服务、Zygote预加载核心类、启动SystemServer以及处理进程间通信等技术细节。; 适合人群:对Android系统底层机制感兴趣的开发者,尤其是具有Linux内核基础知识和Java编程经验的研发人员。; 使用场景及目标:①理解Android系统启动流程中的各个组件及其交互方式;②掌握init进程解析配置文件和创建关键服务的具体实现;③深入了解Zygote进程的作用,如预加载类、启动SystemServer和创建应用进程;④研究SystemServer的启动过程及其提供的各种系统服务。; 其他说明:文档不仅提供了详细的启动流程和技术细节,还附带了丰富的代码片段和流程图,有助于读者更好地理解和跟踪代码执行路径。此外,文档中提到的内容对于优化Android系统启动速度、调试启动相关问题以及开发定制化的Android发行版具有重要的参考价值。

    小学男女儿童自我介绍卡通可爱模板.pptx

    小学男女儿童自我介绍卡通可爱模板

Global site tag (gtag.js) - Google Analytics