我有一个自定义界面:
@Target({ TYPE, ANNOTATION_TYPE })
@Retention(RUNTIME)
@Constraint(validatedBy = { MyCustomValidator.class })
@Documented
public @interface ValidData {
String message() default EMPTY;
Class<?>[] groups() default { };
Class<? extends Payload>[] payload() default { };
}
我有一个类-到目前为止-附加了此验证器:
@ValidData(groups = AfterDefaultGroup.class)
public class RecoverData {
private String data;
它可以工作,但是我需要将验证器从类级别移到字段级别。我尝试过:
public class RecoverData {
@ValidData(groups = AfterDefaultGroup.class)
private String data;
但是我在这里遇到编译错误:
ValidData not applicable to field
我该如何解决?
答案 0 :(得分:2)
js <- c(
"function(el, x, inputName){",
" var id = el.getAttribute('id');",
" var d3 = Plotly.d3;",
" el.on('plotly_restyle', function(evtData) {",
" var out = {};",
" d3.select('#' + id + ' g.legend').selectAll('.traces').each(function(){",
" var trace = d3.select(this)[0][0].__data__[0].trace;",
" out[trace.name] = trace.visible;",
" });",
" Shiny.setInputValue(inputName, out);",
" });",
"}")
p1 %>% onRender(js, data = "tracesPlot1")
p2 %>% onRender(js, data = "tracesPlot2")
注释定义了可以在何处应用此注释。
您现在将其限制为@Target
和TYPE
,不允许在字段中使用它。
根据documentation,您必须使用ANNOTATION_TYPE