Spring in JSP - подтверждение пароля с помощью JQ - PullRequest
0 голосов
/ 05 марта 2019

У меня проблема с добавлением подтверждения JQ на страницу JSP поля пароля.Я использую этот jQuery-Form-Validator .

Использование: <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

При использовании тега ввода JSP <form:input> в поле пароля и в поле подтверждения пароля -проверка всегда терпит неудачу, и я получаю ошибку, как пароль не равны.Когда я использую тэг normal-html вроде <input> evertyhing работает нормально, но по понятным причинам я не должен этого делать.Конечно, у меня есть проверка бэкэнда, но я хочу сделать это и во внешнем интерфейсе.

Это не работает: всегда всплывает:

Входные значения не могут быть подтверждены

<spring:bind path="password">
  <div class="form-group ${status.error ? 'has-error' : ''}">
    <form:input type="password" 
                path="password" 
                class="form-control" 
                placeholder="PASSWORD" 
                data-validation="length" 
                data-validation-length="min8" 
                name="pass_confirmation">
    </form:input>
    <div class="register-error">
      <form:errors path="password"></form:errors>
    </div>
  </div>
</spring:bind>
<spring:bind path="passwordConfirm">
  <div class="form-group ${status.error ? 'has-error' : ''}">
    <form:input type="password" 
                path="passwordConfirm" 
                class="form-control" 
                placeholder="PASSWORD CONFIRM" 
                name="pass"
                data-validation="confirmation">
    </form:input>
    <div class="register-error">
      <form:errors path="passwordConfirm"></form:errors>
    </div>
  </div>
</spring:bind>  

Это прекрасно работает: но без <form:input> тегов

<spring:bind path="password">
  <div class="form-group ${status.error ? 'has-error' : ''}">
    <input type="password" 
           path="password" 
           class="form-control" 
           placeholder="PASSWORD" 
           data-validation="length" 
           data-validation-length="min8" 
           name="pass_confirmation">
    </input>
    <div class="register-error">
      <form:errors path="password"></form:errors>
    </div>
  </div>
</spring:bind>
<spring:bind path="passwordConfirm">
  <div class="form-group ${status.error ? 'has-error' : ''}">
    <input type="password" 
           path="passwordConfirm" 
           class="form-control" 
           placeholder="PASSWORD CONFIRM" 
           name="pass"
           data-validation="confirmation">
    </input>
    <div class="register-error">
      <form:errors path="passwordConfirm"></form:errors>
    </div>
  </div>
</spring:bind>  

Редактировать: я знаю, почему это не работает, но все же у меня нет решения.Использование <form:input> с атрибутом type="password" или <form:password> всегда рендерит html с <input name="password">, даже если я имел до <form:input type="password" name="pass_confirmation">.Атрибут name всегда переопределен.Итак, у меня другой вопрос сейчас. Есть ли способ заставить не переопределять атрибут name, когда JSP отображает HTML?

...