类级别验证器不适用于春季现场

时间:2019-02-22 10:37:59

标签: java spring validation spring-boot

我有一个自定义界面:

@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

我该如何解决?

1 个答案:

答案 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") 注释定义了可以在何处应用此注释。 您现在将其限制为@TargetTYPE,不允许在字段中使用它。

根据documentation,您必须使用ANNOTATION_TYPE