max.java

来自「欢迎使用 FastJsp 开发框架! 编译说明: * 若要生成Api J」· Java 代码 · 共 76 行

JAVA
76
字号
// Copyright 2005-2007 onetsoft.com
//
// Licensed 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 com.onetsoft.fastjsp.valid.validator;

import com.onetsoft.fastjsp.valid.ValidationMessageProvider;
import com.onetsoft.fastjsp.valid.Validator;

import java.text.DecimalFormat;
import java.text.MessageFormat;
import java.util.Locale;

/**
 * @author <a href="mailto:hgw@onetsoft.com">hgw</a>
 */

public class Max implements Validator {
      public final static String  MessagePatternKey= ValidationMessageProvider.NUMBER_TOO_LARGE  ;
    private double maxValue = 0D;
    private static String function = "validate_max_number";
    private static String number_pattern = "###.###";

    public Max(double max) {
        this.maxValue = max;
    }

    public Object clone() {
        return new Max(maxValue);
    }

    public String validate(String Value, Locale locale, ValidationMessageProvider provider) {
        double val = 0D;
        try {
            val = Double.parseDouble(Value);
        } catch (NumberFormatException e) {
            return provider.getPattern(locale, ValidationMessageProvider.NUMBER_INVALID);
        }
        if (val > maxValue)
            return getMessagePattern(locale, provider);
        else
            return null;
    }

    public String getMessagePattern(Locale locale, ValidationMessageProvider provider) {
        return MessageFormat.format(provider.getPattern(locale, ValidationMessageProvider.NUMBER_TOO_LARGE), new String[]{"{0}", parseValue()});
    }

    public String getLimit() {
        return parseValue();
    }

    private String parseValue() {
        return new DecimalFormat(number_pattern).format(maxValue);
    }


    public String getJSFunction() {
        return function;
    }


    public double getMaxValue() {
        return maxValue;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?