Проблема с порядком аннотаций проверки формы Spring BootJAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Проблема с порядком аннотаций проверки формы Spring Boot

Сообщение Гость »

В Spring Boot мне нужно выполнить проверку формы, и мой класс проверки следующий:

Код: Выделить всё

@Data
public class LoginForm {

@NotEmpty(message = "用户名密码不能为空")
@Pattern(regexp = "^[a-zA-Z0-9]{5,20}$", message = "账号必须为5-20位字母数字")
private String username;

@NotEmpty(message = "用户密码不能为空")
@Pattern(regexp = "^[a-zA-Z0-9.,!@#$%^&*()_\\-+=]{5,20}$", message = "密码必须为5-20位字母数字字符且包含两种组合")
private String password;
}
Это мой контроллер:

Код: Выделить всё

@RestController
@RequestMapping("/admin/auth")
public class AuthController extends BaseController {

@Autowired
private AuthService authService;

@PostMapping("/login")
public Object login(@Validated @RequestBody LoginForm loginForm) throws AuthException {
LoginResp result = authService.login(loginForm.getUsername(), loginForm.getPassword());
return success(result);
}
}
На этом этапе я использовал Postman для отправки запроса на тестирование интерфейса и обнаружил, что поля имени пользователя и пароля в классе содержат две аннотации проверки. Для имен пользователей или паролей две проверочные аннотации в этих двух полях не будут выполняться сверху вниз. Этот порядок аннотаций совершенно случайный. Это ошибка? Потому что в моем понимании это должно быть проверено сверху вниз. Если проверка не проходит определенную аннотацию, будущие аннотации не должны продолжать проверяться.
Или, другими словами, как я могу изменить ее, чтобы достичь той функциональности, которую я понимаю.

Источник: https://stackoverflow.com/questions/781 ... rder-issue
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»