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 }