1 /*** 2 * Copyright (C) 2008 rweber <quietgenie@users.sourceforge.net> 3 * 4 * This file is part of CsvObjectMapper. 5 * 6 * CsvObjectMapper is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU Lesser General Public License as published by 8 * the Free Software Foundation, either version 3 of the License, or 9 * (at your option) any later version. 10 * 11 * CsvObjectMapper is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public License 17 * along with CsvObjectMapper. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 /*** 21 * 22 */ 23 package com.projectnine.csvmapper; 24 25 import org.apache.commons.validator.GenericValidator; 26 27 /*** 28 * This {@link CsvFieldValidator} blocks fields that contain !, @, %, &, *, ~, 29 * ?, <, and > from passing validation. 30 * 31 * @author robweber 32 * @deprecated Use a {@link RegularExpressionCsvFieldValidator} with a regular 33 * expression of "^[^\!\@\%\&\*\~\?\<\>]*$" 34 */ 35 public class NoSpecialCharacterCsvFieldValidator extends CsvFieldValidator { 36 private static final String NO_SPECIAL_CHARACTER_REGEX = "^[^//!//@//%//&//*//~//?//<//>]*$"; 37 38 @Override 39 protected boolean doValidate( 40 CsvFieldValidationContext csvFieldValidationContext) 41 throws Exception { 42 if (GenericValidator.matchRegexp(csvFieldValidationContext 43 .getValueToValidate(), NO_SPECIAL_CHARACTER_REGEX)) { 44 return false; 45 } 46 47 throw new ValidationException("The value to validate, " 48 + csvFieldValidationContext.getValueToValidate() 49 + ", contains invalid characters."); 50 } 51 }