0
私は、スプリングとフリーメーカのパスワードバリデータを書き込もうとしています。 BindingResultはエラーを表示しますが、表示されません - spring.status.errorMessages?sizeは0を返します。Validatorは正しいパスワードを取得しました。 PasswordFormはパスワードを持つJavaクラスです。私は断片の下に置く。形態でフリーメーカの検証エラー
入力:
<tr>
<td><@m.formPassword path='passwordForm.passwordOld' label='user.passwordOld' classes='' attr=''/></td>
<td><@m.fieldErr /></td>
</tr>
メートル:macros.ftlから
"macros.ftl" as m
使用されるマクロ:
<#macro fieldErr>
<#if (spring.status.errorMessages?size > 0)>
<label> blaaad</label>
</#if>
<label> size=${spring.status.errorMessages?size}</label>
</#macro>
<#macro formPassword path label='' classes='' attr='' required=false>
<@spring.bind "${path}" />
<#assign error = '' />
<#if (spring.status.errorMessages?size > 0)>
<#assign error = 'err' /></#if>
<#if label??>
<br/>
<label class="inputLabel ${error} <#if required>required </#if>"><@spring.message code="${label}" /></label>
</#if>
<@spring.formPasswordInput path="${path}" attributes='class="inputText ${classes} ${error}" AUTOCOMPLETE="off" ' />
<#if (spring.status.errorMessages?size > 0)>
<span class="err">${spring.status.errorMessage}</span>
</#if>
</#macro>
コントローラー:
@RequestMapping(method = RequestMethod.POST)
public String onSubmit(
@ModelAttribute("passwordForm") PasswordForm passwordForm,
BindingResult result,
ModelMap model,
SessionStatus sessionStatus,
HttpSession session) {
passwordValidator.validate(passwordForm, result);
if(result.hasErrors())
return redirect(view);
return redirect(View.MAIN);
}
バリ:
@Override
public void validate(Object target, Errors errors) {
PasswordForm passwordForm = (PasswordForm) target;
String passwordOld = passwordForm.getPasswordOld();
String passwordNew = passwordForm.getPasswordNew();
String passwordNewRepeat = passwordForm.getPasswordNewRepeat();
if (StringUtils.isBlank(passwordOld)) {
errors.rejectValue("passwordOld", "password.blank");
}
if (!StringUtils.equals(passwordNew, passwordNewRepeat)) {
errors.rejectValue("passwordNewRepeat", "password.notmatch");
errors.rejectValue("passwordNew", "password.notmatch");
}
}
誰でも助けることができますか?コンソールにエラーは表示されません。
解決済み。私はonSubmitメソッドで間違ったリダイレクトを行います。 – mmmar123