0
Hibernate Validatorを使用して自分のメソッドの引数を検証したいと思います。メソッドの引数にJSR 303の検証を追加する方法
私は、ルックアップする例を試してみましたが、次の例を通じて JSR 303. Validate method parameter and throw exception
を行ってきました。しかしその答えは、まさに私の問題を解決しないともリンクが答えに有効期限が切れているしています。
ここに私が試したもののサンプルコードがあります。
//removing imports to reduce the length of code.
/**
* Created by Nick on 15/06/2016.
*/
@Component
public class ValidationService {
@Value("${namesAllowed}")
private String validNames;
@Autowired
private Validator validator;
public boolean validateName(
@NotEmpty
@Pattern(regexp = ".*'.*'.*")
@Email
@Length(max = 10)
String name
) {
Set<ConstraintViolation<String>> violations = validator.validate(name);
for (ConstraintViolation<String> violation : violations) {
String propertyPath = violation.getPropertyPath().toString();
String message = violation.getMessage();
System.out.println("invalid value for: '" + propertyPath + "': " + message);
}
List<String> namesAllowed= Arrays.asList(validNames.split(","));
if (namesAllowed.contains(name.substring(name.indexOf(".") + 1))) {
return true;
}
return false;
}
}
}