# Form Validation
Form validation is implemented through the
wk-starter-openapi
andwk-starter-web
components. The former provides API annotations and form validation definitions, while the latter is used for parameter value validation and interceptionFor
GET/DELETE
request parameters, use@ApiImplicitParams
and@ApiImplicitParam
to define
public @interface ApiImplicitParam {
String name() default "";
String description() default "";
String example() default "";
/**
* Whether it's a required field for form validation
*/
boolean required() default false;
/**
* Parameter passing method PATH=path parameter, QUERY=URL parameter
*/
ParamIn in() default ParamIn.QUERY;
String type() default "string";
String df() default "";
/**
* Whether form validation is enabled
*/
boolean check() default false;
/**
* Form validation regular expression (enumeration)
*/
Validation validation() default Validation.NONE;
/**
* Form validation regular expression (custom)
*/
String regex() default "";
/**
* Form validation failure prompt message
*/
String msg() default "";
}
- For
POST
requests, use@ApiFormParams
and@ApiFormParam
to define
public @interface ApiFormParams {
/**
* Form parameter details
*/
ApiFormParam[] value() default {};
/**
* Form entity class
*/
Class<?> implementation() default Void.class;
/**
* Content-Type
*/
String mediaType() default "application/json;charset=utf-8;";
}
public @interface ApiFormParam {
String name() default "";
String type() default "string";
String description() default "";
String example() default "";
/**
* Whether it's required (shared by API documentation and form validation)
* @return
*/
boolean required() default false;
String df() default "";
/**
* Whether form validation is enabled
*
* @return
*/
boolean check() default false;
/**
* Form validation regular expression (enumeration)
* @return
*/
Validation validation() default Validation.NONE;
/**
* Form validation regular expression (custom)
* @return
*/
String regex() default "";
/**
* Form validation failure prompt message
* @return
*/
String msg() default "";
}
- For entity classes, use
@ApiModel
and@ApiModelProperty
to define
public @interface ApiModelProperty {
String name() default "";
String description() default "";
/**
* Whether it's required (shared by API documentation and form validation)
* @return
*/
boolean required() default false;
String example() default "";
String df() default "";
/**
* true=form parameter, false=not displayed in form request
* @return
*/
boolean param() default true;
/**
* Whether form validation is enabled
* @return
*/
boolean check() default false;
/**
* Form validation regular expression (enumeration)
* @return
*/
Validation validation() default Validation.NONE;
/**
* Form validation regular expression (custom)
*/
String regex() default "";
/**
* Form validation failure prompt message
*/
String msg() default "";
}