亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fieldchecks.java

?? struts的源代碼
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
/*
 * $Id: FieldChecks.java 164530 2005-04-25 03:11:07Z niallp $ 
 *
 * Copyright 2000-2005 The Apache Software Foundation.
 * 
 * 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 org.apache.struts.validator;

import java.io.Serializable;
import java.util.Date;
import java.util.Locale;
import java.util.StringTokenizer;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.validator.Field;
import org.apache.commons.validator.GenericTypeValidator;
import org.apache.commons.validator.GenericValidator;
import org.apache.commons.validator.UrlValidator;
import org.apache.commons.validator.Validator;
import org.apache.commons.validator.ValidatorAction;
import org.apache.commons.validator.util.ValidatorUtils;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.util.RequestUtils;

/**
 * <p>
 * This class contains the default validations that are used in the
 * validator-rules.xml file.
 * </p>
 * <p>
 * In general passing in a null or blank will return a null Object or a false
 * boolean. However, nulls and blanks do not result in an error being added to the
 * errors.
 * </p>
 *
 * @since Struts 1.1
 */
public class FieldChecks implements Serializable {

    /**
     *  Commons Logging instance.
     */
    private static final Log log = LogFactory.getLog(FieldChecks.class);

    public static final String FIELD_TEST_NULL = "NULL";
    public static final String FIELD_TEST_NOTNULL = "NOTNULL";
    public static final String FIELD_TEST_EQUAL = "EQUAL";

    /**
     * Checks if the field isn't null and length of the field is greater than zero not
     * including whitespace.
     *
     * @param bean The bean validation is being performed on.
     * @param va The <code>ValidatorAction</code> that is currently being performed.
     * @param field The <code>Field</code> object associated with the current
     * field being validated.
     * @param errors The <code>ActionMessages</code> object to add errors to if
     * any validation errors occur.
     * @param validator The <code>Validator</code> instance, used to access
     *                  other field values.
     * @param request Current request object.
     * @return true if meets stated requirements, false otherwise.
     */
    public static boolean validateRequired(Object bean,
                                           ValidatorAction va, Field field,
                                           ActionMessages errors,
                                           Validator validator,
                                           HttpServletRequest request) {

        String value = null;
        if (isString(bean)) {
            value = (String) bean;
        } else {
            value = ValidatorUtils.getValueAsString(bean, field.getProperty());
        }

        if (GenericValidator.isBlankOrNull(value)) {
            errors.add(field.getKey(), Resources.getActionMessage(validator, request, va, field));
            return false;
        } else {
            return true;
        }

    }

    /**
     * Checks if the field isn't null based on the values of other fields.
     *
     * @param bean The bean validation is being performed on.
     * @param va The <code>ValidatorAction</code> that is currently being
     * performed.
     * @param field The <code>Field</code> object associated with the current
     * field being validated.
     * @param errors The <code>ActionMessages</code> object to add errors to if
     * any validation errors occur.
     * @param validator The <code>Validator</code> instance, used to access
     * other field values.
     * @param request Current request object.
     * @return true if meets stated requirements, false otherwise.
     */
    public static boolean validateRequiredIf(Object bean,
                                             ValidatorAction va, Field field,
                                             ActionMessages errors,
                                             Validator validator,
                                             HttpServletRequest request) {

        Object form = validator.getParameterValue(org.apache.commons.validator.Validator.BEAN_PARAM);
        String value = null;
        boolean required = false;

        if (isString(bean)) {
            value = (String) bean;
        } else {
            value = ValidatorUtils.getValueAsString(bean, field.getProperty());
        }

        int i = 0;
        String fieldJoin = "AND";
        if (!GenericValidator.isBlankOrNull(field.getVarValue("fieldJoin"))) {
            fieldJoin = field.getVarValue("fieldJoin");
        }

        if (fieldJoin.equalsIgnoreCase("AND")) {
            required = true;
        }

        while (!GenericValidator.isBlankOrNull(field.getVarValue("field[" + i + "]"))) {
            String dependProp = field.getVarValue("field[" + i + "]");
            String dependTest = field.getVarValue("fieldTest[" + i + "]");
            String dependTestValue = field.getVarValue("fieldValue[" + i + "]");
            String dependIndexed = field.getVarValue("fieldIndexed[" + i + "]");

            if (dependIndexed == null) {
                dependIndexed = "false";
            }

            String dependVal = null;
            boolean thisRequired = false;
            if (field.isIndexed() && dependIndexed.equalsIgnoreCase("true")) {
                String key = field.getKey();
                if ((key.indexOf("[") > -1) && (key.indexOf("]") > -1)) {
                    String ind = key.substring(0, key.indexOf(".") + 1);
                    dependProp = ind + dependProp;
                }
            }

            dependVal = ValidatorUtils.getValueAsString(form, dependProp);
            if (dependTest.equals(FIELD_TEST_NULL)) {
                if ((dependVal != null) && (dependVal.length() > 0)) {
                    thisRequired = false;
                } else {
                    thisRequired = true;
                }
            }

            if (dependTest.equals(FIELD_TEST_NOTNULL)) {
                if ((dependVal != null) && (dependVal.length() > 0)) {
                    thisRequired = true;
                } else {
                    thisRequired = false;
                }
            }

            if (dependTest.equals(FIELD_TEST_EQUAL)) {
                thisRequired = dependTestValue.equalsIgnoreCase(dependVal);
            }

            if (fieldJoin.equalsIgnoreCase("AND")) {
                required = required && thisRequired;
            } else {
                required = required || thisRequired;
            }

            i++;
        }

		if (required) {
			if (GenericValidator.isBlankOrNull(value)) {
				errors.add(
					field.getKey(),
					Resources.getActionMessage(validator, request, va, field));

                return false;

			} else {
				return true;
			}
		}
        return true;
    }

    /**
     * Checks if the field matches the regular expression in the field's mask attribute.
     *
     * @param bean The bean validation is being performed on.
     * @param va The <code>ValidatorAction</code> that is currently being
     * performed.
     * @param field The <code>Field</code> object associated with the current
     * field being validated.
     * @param errors   The <code>ActionMessages</code> object to add errors to if
     * any validation errors occur.
     * @param validator The <code>Validator</code> instance, used to access
     * other field values.
     * @param request Current request object.
     * @return true if field matches mask, false otherwise.
     */
    public static boolean validateMask(Object bean,
                                       ValidatorAction va, Field field,
                                       ActionMessages errors,
                                       Validator validator,
                                       HttpServletRequest request) {

        String mask = field.getVarValue("mask");
        String value = null;
        if (isString(bean)) {
            value = (String) bean;
        } else {
            value = ValidatorUtils.getValueAsString(bean, field.getProperty());
        }

        try {
            if (!GenericValidator.isBlankOrNull(value)
                && !GenericValidator.matchRegexp(value, mask)) {

                errors.add(
                    field.getKey(),
                    Resources.getActionMessage(validator, request, va, field));

                return false;
            } else {
                return true;
            }
        } catch (Exception e) {
            log.error(e.getMessage(), e);
        }
        return true;
    }


    /**
     * Checks if the field can safely be converted to a byte primitive.
     *
     *@param bean The bean validation is being performed on.
     *@param va The <code>ValidatorAction</code> that is currently being performed.
     *@param field The <code>Field</code> object associated with the current
     *field being validated.
     *@param errors The <code>ActionMessages</code> object to add errors to if
     *any validation errors occur.
     * @param validator The <code>Validator</code> instance, used to access
     * other field values.
     *@param request Current request object.
     *@return true if valid, false otherwise.
     */
    public static Object validateByte(Object bean,
                                    ValidatorAction va, Field field,
                                    ActionMessages errors,
                                    Validator validator,
                                    HttpServletRequest request) {

        Object result = null;
        String value = null;
        if (isString(bean)) {
            value = (String) bean;
        } else {
            value = ValidatorUtils.getValueAsString(bean, field.getProperty());
        }

        if (GenericValidator.isBlankOrNull(value)) {
            return Boolean.TRUE;
        }

        result = GenericTypeValidator.formatByte(value);

        if (result == null) {
            errors.add(field.getKey(), Resources.getActionMessage(validator, request, va, field));
        }

        return result == null ? Boolean.FALSE : result;
    }


    /**
     * Checks if the field can safely be converted to a short primitive.
     *
     * @param bean The bean validation is being performed on.
     * @param va The <code>ValidatorAction</code> that is currently being performed.
     * @param field The <code>Field</code> object associated with the current
     * field being validated.
     * @param errors The <code>ActionMessages</code> object to add errors to if
     * any validation errors occur.
     * @param validator The <code>Validator</code> instance, used to access
     * other field values.
     * @param request Current request object.
     * @return true if valid, false otherwise.
     */
    public static Object validateShort(Object bean,
                                      ValidatorAction va, Field field,
                                      ActionMessages errors,
                                      Validator validator,
                                      HttpServletRequest request) {
        Object result = null;
        String value = null;
        if (isString(bean)) {
            value = (String) bean;
        } else {
            value = ValidatorUtils.getValueAsString(bean, field.getProperty());
        }

        if (GenericValidator.isBlankOrNull(value)) {
            return Boolean.TRUE;
        }

        result = GenericTypeValidator.formatShort(value);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一级免费一区| 一区二区免费看| 不卡电影免费在线播放一区| 国产精品久久一级| 91黄色免费观看| 日韩高清不卡一区二区三区| 精品国产一区二区三区四区四| 国产乱码精品一区二区三| 亚洲国产精品v| 色呦呦一区二区三区| 午夜私人影院久久久久| 日韩欧美国产综合在线一区二区三区| 国产精品亚洲综合一区在线观看| 日韩一区日韩二区| 欧美日韩高清在线播放| 精品一区二区日韩| 国产精品美日韩| 色婷婷av一区二区三区大白胸| 午夜精品久久久久| 久久伊人中文字幕| 91国产丝袜在线播放| 天堂av在线一区| 久久久久久亚洲综合| 色综合天天综合在线视频| 日韩精品91亚洲二区在线观看| 久久影音资源网| 色综合久久九月婷婷色综合| 丝袜脚交一区二区| 国产欧美中文在线| 欧美色图天堂网| 国内偷窥港台综合视频在线播放| 国产精品国产自产拍高清av| 91精品国产综合久久香蕉麻豆| 国产成人日日夜夜| 一区二区三区国产| 久久精品人人做| 欧美日本一区二区三区四区| 国产精品123| 亚洲成人一区二区| 国产精品水嫩水嫩| 欧美一区二区三区的| 成人av电影免费在线播放| 午夜欧美2019年伦理| 国产精品久久看| 欧美一区二区女人| 91官网在线免费观看| 欧美精品成人一区二区三区四区| 国产剧情一区二区三区| 午夜成人免费电影| 亚洲欧美在线视频| 久久影院午夜片一区| 欧美日韩国产综合视频在线观看| 国产成人av影院| 久久99精品国产麻豆不卡| 国产精品网站在线播放| 欧美日韩视频在线一区二区| 成人午夜免费视频| 日韩精品欧美精品| 亚洲少妇30p| 久久久午夜电影| 欧美理论电影在线| 91在线国产观看| 国产另类ts人妖一区二区| 香蕉加勒比综合久久| 亚洲视频 欧洲视频| 国产欧美一区二区三区鸳鸯浴| 7878成人国产在线观看| 色网站国产精品| 国产成人av福利| 青青草97国产精品免费观看 | 日本一区二区三区四区| 91精品福利在线一区二区三区| 色香蕉成人二区免费| 粉嫩aⅴ一区二区三区四区五区| 蜜臀a∨国产成人精品| 亚洲一二三四在线观看| 国产精品欧美极品| 久久久91精品国产一区二区三区| 欧美一区二区三区免费视频| 欧美午夜片在线看| 色狠狠一区二区| 99国内精品久久| 久久超级碰视频| 亚洲色图一区二区| 欧美激情一区二区三区全黄| 精品国产91亚洲一区二区三区婷婷| 欧美二区乱c少妇| 欧美亚洲动漫另类| 在线视频亚洲一区| 色先锋久久av资源部| 一本色道久久综合狠狠躁的推荐 | 国产精品一区一区| 精品一二三四在线| 久久精工是国产品牌吗| 偷窥国产亚洲免费视频| 亚洲第四色夜色| 亚洲成av人影院| 亚洲午夜免费视频| 亚洲国产你懂的| 亚洲一区二区精品视频| 一区二区三区视频在线观看| 一区二区三区四区激情| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲欧美日本在线| 一区二区三区四区国产精品| 亚洲午夜av在线| 五月综合激情网| 麻豆精品视频在线观看| 日韩电影在线一区二区三区| 日本不卡视频一二三区| 美女一区二区三区在线观看| 久久99深爱久久99精品| 久久精品国产99国产| 国产精品亚洲视频| 国产福利91精品一区二区三区| 成人一二三区视频| 97久久超碰精品国产| 在线区一区二视频| 欧美美女一区二区| 日韩欧美国产成人一区二区| 久久这里只有精品6| 精品久久国产老人久久综合| 在线综合亚洲欧美在线视频| 欧美一级日韩一级| 久久综合色一综合色88| 国产日韩欧美a| 国产精品国产三级国产aⅴ原创 | 美腿丝袜亚洲一区| 国产一区亚洲一区| 99麻豆久久久国产精品免费优播| 99精品视频一区| 欧美日韩免费一区二区三区| 制服丝袜一区二区三区| 久久久久国产精品麻豆ai换脸 | 欧美羞羞免费网站| 69堂精品视频| 欧美精品一区二区三区在线播放 | 日韩免费电影一区| 久久精品在线免费观看| 国产精品久久久久久久久久久免费看 | 日韩av在线免费观看不卡| 久久99最新地址| 成年人网站91| 欧美麻豆精品久久久久久| 久久一区二区视频| 亚洲毛片av在线| 亚洲成人7777| 国产一区二区三区av电影| 国产精品免费久久久久| 色婷婷精品大在线视频| 在线成人午夜影院| 久久这里都是精品| 亚洲精品免费播放| 青青草国产成人99久久| 高潮精品一区videoshd| 欧美午夜精品一区二区三区| 日韩你懂的电影在线观看| 国产视频一区二区在线| 夜夜嗨av一区二区三区| 久久不见久久见免费视频7| caoporn国产精品| 6080午夜不卡| 国产精品久久久99| 日韩电影免费一区| 99久久国产免费看| 日韩欧美精品三级| 亚洲精品少妇30p| 免费在线观看不卡| 91网页版在线| 欧美zozozo| 亚洲一级电影视频| 国产成人精品免费看| 在线免费观看不卡av| 久久久天堂av| 午夜精品免费在线观看| 国产a久久麻豆| 欧美丰满一区二区免费视频| 亚洲国产成人午夜在线一区| 欧美一级高清片在线观看| 国产偷国产偷亚洲高清人白洁| 亚洲成a人在线观看| 天天操天天干天天综合网| 香蕉久久夜色精品国产使用方法| 91福利在线看| 欧美日韩一区三区| 欧美日本国产视频| 日韩精品一区二区三区中文不卡 | 国产精品久久久久三级| 国产精品不卡一区| 亚洲精品免费视频| 青青草97国产精品免费观看| 国产伦精品一区二区三区免费迷| 国产乱一区二区| 在线播放91灌醉迷j高跟美女 | 国产精品久久久久久久久免费樱桃 | 中文字幕欧美国产| 免费成人结看片| 欧美三级韩国三级日本一级| 国产精品久久免费看| 国产美女久久久久|