Я пытаюсь связать свои поля класса с моими полями представления, используя Extjs4. Я сделал до такой степени, что я могу отправить форму и получить результат обратно, но не уверен, как отобразить какое-либо сообщение об ошибке рядом с соответствующими полями, если оно не проходит проверку. Я хотел бы связать эти поля непосредственно с моим классом (как мы делаем для пружинного mvc, например - bindingResults.rejectValue («currentPassword», «currentPassword.incorrect», «Пароль неверен»); и он отображается в представлении).
Моя формаПанель:
{
xtype : 'formpanel',
url: 'changePassword',
id : 'changePasswordForm',
method: 'POST',
success: function(){},
items : [{
xtype : 'fieldset',
id : 'passwordChange',
title : 'Change Password',
iconCls : 'user',
items : [{
xtype : 'passwordfield',
label : 'Current Password',
name : 'currentPassword',
id : 'currentPassword',
}, {
xtype : 'passwordfield',
label : 'New Password'
name : 'newPassword1',
id : 'newPassword1',
}, {
xtype : 'passwordfield',
label : 'Repeat Password',
name : 'newPassword2',
id : 'newPassword2',
},]
} ]
},{
xtype : 'button',
id: 'changePassword',
}
Контроллер, который отправляет событие при нажатии кнопки -
this.getChangePasswordForm().submit();
И мой класс
@RequestMapping(value = "/changePassword", method = RequestMethod.POST)
public @ResponseBody String changePasswordInSettings(ChangePasswordForm changePasswordForm) {
User currentUser = User.find();
String enteredPSHash = HashUtil
.generateHash(changePasswordForm.getCurrentPassword(),
currentUser.getEmail());
String existingPSHash = currentUser.getPassword();
if(!enteredPSHash.equals(existingPSHash)) {
//bindingResults.rejectValue("currentPassword",
//"currentPassword.incorrect", "Password is incorrect");
}
if (!changePasswordForm.getNewPassword1().equals(changePasswordForm.getNewPassword2())) {
//bindingResults.rejectValue("newPassword2",
// "newPassword2.dontMatch", "Passwords dont match");
}
//if (!bindingResults.hasErrors()) {
String newPSHash = HashUtil.generateHash(changePasswordForm.getNewPassword1(),currentUser.getEmail());
currentUser.setPassword(newPSHash);
//model.addAttribute("successful", new Boolean(true)); //}
return "success";
}
Как отобразить сообщения об ошибках обратно в моем представлении?