Я пытаюсь создать форму Java Spring, которая проверяет, содержит ли входная строка специальные символы или нет.Например, когда пользователь вводит строку, содержащую специальные символы, появляется сообщение о том, что входная строка содержит специальные символы.
Мой вопрос заключается в том, как реализовать функцию Java внутри валидатора для проверки наличия специальных символов ввходная строка?
Код валидатора
package com.mkyong.customer.validator;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.mkyong.customer.model.Customer;
public class CustomerValidator implements Validator{
Pattern pattern = Pattern.compile("[a-zA-Z0-9]*");
String str = "userName";
Matcher matcher = pattern.matcher(str);
@Override
public boolean supports(Class clazz) {
//just validate the Customer instances
return Customer.class.isAssignableFrom(clazz);
}
@Override
public void validate(Object target, Errors errors) {
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "userName",
"required.userName", "Keyword is required.");
}
if (!matcher.matches()) {
System.out.println("string '"+str + "' contains special character");
} else {
System.out.println("string '"+str + "' doesn't contains special character");
}
}