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

org.apache.struts.validator.ValidatorForm Maven / Gradle / Ivy

/*
 * $Id: ValidatorForm.java 471754 2006-11-06 14:55:09Z husted $
 *
 * 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.struts.validator;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.validator.Validator;
import org.apache.commons.validator.ValidatorException;
import org.apache.commons.validator.ValidatorResults;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

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

import java.io.Serializable;

import java.util.Map;

/**
 * 

This class extends ActionForm and provides basic field * validation based on an XML file. The key passed into the validator is the * action element's 'name' attribute from the struts-config.xml which should * match the form element's name attribute in the validation.xml.

* *
    * *
  • See ValidatorPlugin definition in struts-config.xml for * validation rules.
  • * *
* * @version $Rev: 471754 $ $Date: 2005-05-07 12:11:38 -0400 (Sat, 07 May 2005) * $ * @see org.apache.struts.action.ActionForm * @since Struts 1.1 */ public class ValidatorForm extends ActionForm implements Serializable { /** * Commons Logging instance. */ private static Log log = LogFactory.getLog(ValidatorForm.class); /** * The results returned from the validation performed by the * Validator. */ protected ValidatorResults validatorResults = null; /** * Used to indicate the current page of a multi-page form. */ protected int page = 0; /** * Gets page. * * @return page number */ public int getPage() { return page; } /** * Sets page. * * @param page page number */ public void setPage(int page) { this.page = page; } /** * Validate the properties that have been set from this HTTP request, and * return an ActionErrors object that encapsulates any * validation errors that have been found. If no errors are found, return * null or an ActionErrors object with no * recorded error messages. * * @param mapping The mapping used to select this instance * @param request The servlet request we are processing * @return ActionErrors object that encapsulates any * validation errors */ public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { ServletContext application = getServlet().getServletContext(); ActionErrors errors = new ActionErrors(); String validationKey = getValidationKey(mapping, request); Validator validator = Resources.initValidator(validationKey, this, application, request, errors, page); try { validatorResults = validator.validate(); } catch (ValidatorException e) { log.error(e.getMessage(), e); } return errors; } /** * Returns the Validation key. * * @param mapping The mapping used to select this instance * @param request The servlet request we are processing * @return validation key - the form element's name in this case */ public String getValidationKey(ActionMapping mapping, HttpServletRequest request) { return mapping.getAttribute(); } /** * Reset all properties to their default values. * * @param mapping The mapping used to select this instance * @param request The servlet request we are processing */ public void reset(ActionMapping mapping, HttpServletRequest request) { super.reset(mapping, request); page = 0; validatorResults = null; } /** * Get results of the validation performed by the Validator. * * @return results of the validation */ public ValidatorResults getValidatorResults() { return validatorResults; } /** * Set results of the validation performed by the Validator. * * @param validatorResults results of validation */ public void setValidatorResults(ValidatorResults validatorResults) { this.validatorResults = validatorResults; } /** * Returns a Map of values returned from any validation that * returns a value other than null or Boolean * with the key the full property path of the field. * * @return Map of non-null values */ public Map getResultValueMap() { return ((validatorResults != null) ? validatorResults.getResultValueMap() : null); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy