- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我的 Spring 3 MVC 应用程序中,用户需要保存密码,如果他们也能够在保存时确认密码,那将是一个不错的功能。
在 bean 中,我使用基于注释的验证。是否有注释 validator 可用于执行此检查?
经过一番谷歌搜索后,我找到了这个博客:http://gochev.blogspot.com/2010/06/spring-mvc-spring-bean-validation.html .但我想我在这里缺少一个 jar-lib,因为 Eclipse 无法找到/建议任何 jar。任何人都知道我需要什么 jar 才能工作?
提前致谢:)
最佳答案
为了验证密码,我写了以下内容:
约束实现:
package com.test.web.validation.user;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.validation.Constraint;
import javax.validation.Payload;
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Constraint(validatedBy = PasswordsEqualConstraintValidator.class)
public @interface PasswordsEqualConstraint {
String message();
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
package com.test.web.validation.user;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import com.test.logic.dto.UserDto;
public class PasswordsEqualConstraintValidator implements
ConstraintValidator<PasswordsEqualConstraint, Object> {
@Override
public void initialize(PasswordsEqualConstraint arg0) {
}
@Override
public boolean isValid(Object candidate, ConstraintValidatorContext arg1) {
UserDto user = (UserDto) candidate;
return user.getPassword().equals(user.getPasswordRepeat());
}
}
我的 DTO 对象:
package com.test.logic.dto;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import com.esldic.web.validation.user.EmailExistsConstraint;
import com.esldic.web.validation.user.PasswordsEqualConstraint;
@PasswordsEqualConstraint(message = "passwords are not equal")
public final class UserDto extends AbstractDto implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
@NotNull
@Size(min = 3, max = 30)
@EmailExistsConstraint(message = "email is not available")
private String email;
private String username;
@NotNull
@Size(min = 2, max = 30)
private String password;
@NotNull
@Size(min = 2, max = 30)
private String passwordRepeat;
...
}
最后,我的 Controller
package com.test.web.controllers;
import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.ConstraintViolation;
import javax.validation.Validator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.test.logic.dto.UserDto;
@Controller
public final class SignupController {
@Autowired
private Validator validator;
@RequestMapping(value = "/signup.html", method = RequestMethod.POST)
public @ResponseBody
ModelAndView handleSignupForm(@ModelAttribute UserDto candidate,
HttpServletResponse response) throws ServiceException {
Set<ConstraintViolation<UserDto>> failures = validator
.validate(candidate);
if (!failures.isEmpty()) {
response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
return ValidationHelper.validationMessages(failures);
} else {
return userService.create(candidate);
}
}
另外,在 google 中你会发现很多带有 JSR-303 bean 验证的示例。
关于java - Spring 3 基于注解的验证 : password and confirm password,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7239897/
我正在尝试让删除确认执行一个删除当前 ID 数据的函数。 我收到这个错误: Uncaught TypeError: Cannot read property 'call' of undefined 在
我经常处理在 Kate 中打开的大量文件。然后,当关闭我正在编辑的一个文件时,我无意识地按了 alt+F4,然后凯特高兴地关闭了我正在编辑的所有打开的文件,让我再次大喊大叫,并用键盘和硬件进行了另一次
这个问题在这里已经有了答案: What is the difference between alert and window.alert? (2 个答案) 关闭 9 年前。 window.confi
我使用以下代码通过 jquery ui 对话框使用默认的 javascript 确认。 jQuery.extend({ confirm: function(message, title, ok
我正在使用以下代码: :delete, :confirm => "You sure you want to delete "
Window.prototype.confirm 和 Window.confirm 有什么区别? 我正在处理一个更改请求,上面写着 We need to have a title on confirm
单击链接时,确认框消息会正常显示。 "Are you sure?", :method => :delete %> 出现确认框时,默认选中“确定”按钮;我希望默认选择“取消”按钮,这样如果用户
我正在编写一个依赖于 RabbitMQ 的 Node.js 应用程序。我正在使用 node-amqp 作为连接到 RabbitMQ 的首选库。 建立到 RabbitMQ 的连接后,我要做的第一件事就是
这是我的 sweetalert 我想在单击此确认按钮时更新我的数据库 STATUS 列请帮助我谢谢 swal({ title: 'Are you sure?', text: "Yo
有人可以告诉我,如何才能在注册的确认后后发送此邮件。无论是忘记密码/重设密码还是注册,此代码都会在每次确认后发送邮件。 var aws = require('aws-sdk'); var ses =
我想使用UIkit.modal.confirm来确认用户在UIkit.modal.prompt中的输入,如果他们确认则继续,否则返回UIkit.modal.confirm. UIkit.modal.p
在 Azure DevOps 管道中的一项任务中,我尝试停止 IIS 服务器。这可以通过在命令提示符中调用命令net stop WAS来实现。手动执行此操作,它会要求确认 手动方式,我只需按 Y EN
在 Azure DevOps 管道中的一项任务中,我尝试停止 IIS 服务器。这可以通过在命令提示符中调用命令net stop WAS来实现。手动执行此操作,它会要求确认 手动方式,我只需按 Y EN
我有一个在 AJAX 调用完成后执行的 javascript 代码。 req.done(function (response, textStatus, jqXHR){ if (response
我有一个移动网站,供各种设备使用,包括一些运行带 IE 7 的 Windows Embedded 7 锁定版本的车载计算机。出于某种我无法解释的原因,window.confirm() 已损坏,但所有其
这里是第一个问题,Stackoverflow 的新手,所以如果我有什么遗漏的地方,请指导我。我的问题如下, 我正在创建一个自定义弹出消息,例如 window.confirm。在函数中,用户需要传递一些
我正在尝试从确认框中删除“确认”标题,我在确认对话框中获取页面名称,这看起来很尴尬。 请帮我从确认对话框中删除标题。 最佳答案 不要使用window.confirm(),因为这使用了WebView的内
我在使用angular-js时调用phonegap的notification.confirm。 我的代码如下: ng-click= func(item) $scope.func = function(
我正在为用户编写删除确认代码,但是当我运行它时,它显示了这个错误 这是我的代码 onDelete = (id) => { console.log(id); if (co
我在应用程序中使用$ mdDialog,但想将其用作“确认”对话框而不是普通对话框。这意味着,在用户单击“确认”对话框中的两个按钮之一之前,不应继续执行代码流。我注意到可以使用$ mdDialog.c
我是一名优秀的程序员,十分优秀!