Posiadam w aplikacji webowej formularz rejestracji, który jest walidowany za pomocą JQuery. Oczywiście działa bezbłędnie. Jednak dla bezpieczeństwa zastosowałem drugą walidację w samej Java. Używam frameworka Spring.
Kontroler rejestracji wygląda tak
@PostMapping("/register")
public ModelAndView register(@ModelAttribute("registerDTO") @Valid RegisterDTO registerDTO,
BindingResult bindingResult,
ModelMap modelMap) {
if(bindingResult.hasErrors()) {
// jakiś kod
}
// jakiś kod
Walidacja w Java jest zrobiona na wypadek, gdyby ktoś specjalnie wyłączył w przeglądarce obsługę JavaScript i próbował się zarejestrować. Jednak podczas gdy JavaScript jest włączony to ta walidacja w Java jest niepotrzebna, więc chciałbym ją w jakiś sposób zawarunkować. Mój pierwszy pomysł to było dopisanie takiego kodu
<noscript>
<input type="hidden" name="isJavaScript" value="false" />
</noscript>
i w kontrolerze mogę wtedy odebrać ten parametrem requestem i sprawdzić czy wartość jest false czy nie. Jednak ten sposób nie ma większego sensu, ponieważ użytkownik może zbadać element strony i go podmienić, a wtedy do serwera zostanie wysłana wartość wpisana przez niego. Czy jest jakiś dobry sposób na przekazanie do kontrolera informacji na temat stanu JavaScript?