0
如何爲Beans驗證1.0中的URL字段創建自定義驗證器。 但是,我怎樣才能將通過JSON傳遞的URL字符串傳遞給我的約束驗證器?JEE6 Beans驗證1.0的URL驗證器
@ValidURL
private URL myUrl;
public class URLValidator implements ConstraintValidator<ValidURL, CharSequence> {...}
@Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER})
@Retention(RUNTIME)
@Constraint(validatedBy = {URLValidator.class})
@Constraint(validatedBy = {})
public @interface ValidURL {
String message() default "must be a valid URL";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
我知道最新的Hibernate驗證具有@URL驗證,但我不能移動到最新版本。
編輯: 隨着上述我點擊以下。所以我的問題是Hibernate如何將URL類型轉換爲ConstraintValidator使用的CharSequence?
javax.validation.UnexpectedTypeException: HV000030: No validator could be found for type: java.net.URL.
什麼是你其實是問?你似乎知道如何編寫自定義約束。如何從某種類型的JSON請求中將您的URL導入Java模型將取決於您使用的框架。這裏沒有提供任何關於此的信息。另外,Hibernate Validator的@URL約束也可以在4.x版本中使用,那麼爲什麼你不能使用它? – Hardy