Ich versuche eine numerische Variable in der Anfrage zu validieren, was ich versuche zu erreichen, damit dieses Feld nicht null und numerisch ist. Ich möchte verschiedene Fehler für Null- und Konvertierungsfehler gemeldet haben.Anmerkungsbasierte Anforderungsüberprüfung
ich versuchte org.springframework.format.annotation.NumberFormat zu verwenden
Warum nicht die @NumberFormat keine Standardnachrichteneigenschaft hat? Gibt es einen Grund, warum dies verpasst wurde? Ich muss es nun anpassen, da ich die Nachrichtenressourcenpakete nicht verwende.
public class AddToJobsShortListWSRequest implements Serializable {
@NumberFormat(style = NumberFormat.Style.NUMBER)
@NotNull(message="ASL01")
private Long userDetailId;
Controller
public ResponseEntity<String> handlePostRequest(String xmlRequest, String... externalIds) {
ResponseEntity<String> response = null;
Set<Enum> enums = new HashSet<Enum>();
AddToJobsShortListWSRequest addToJobsShortListWSRequest = serializationDeserializationSupport.fromString(xmlRequest, AddToJobsShortListWSRequest.class);
if(!jsonRequestValidator.validate(AddToJobsShortListWSError.class, enums, addToJobsShortListWSRequest))
{
response = getBadRequestErrorResponseEntity(enums);
}
else{
.....
}
Validator
private void validate(@SuppressWarnings("rawtypes") Class enumClass, Object object, @SuppressWarnings("rawtypes") Set<Enum> enums) {
BindException errors = new BindException(object, "object");
validator.validate(object, errors);
@SuppressWarnings({"rawtypes"})
List fieldErrors = errors.getFieldErrors();
for (int i = 0; i < fieldErrors.size(); i++) {
if (fieldErrors.get(i) instanceof FieldError) {
String m = ((FieldError) fieldErrors.get(i)).getDefaultMessage();
enums.add(Enum.valueOf(enumClass, m));
}
}
}
Gibt es eine andere Anmerkung basierte Validierung hier anwendbar? Auch, was ist die Reihenfolge der Validierung, die man zuerst eingibt, NumberFormat, NotNull?
Vielen Dank im Voraus :)
Können Sie den Code und die Fehlermeldung des Controllers posten? –
möglicherweise doppelte Frage von http://stackoverflow.com/questions/149506/annotation-based-spring-bean-validierung – kandarp