Tag: validation

如何在不同的浏览器页面中管理多个帐户登录和注销?

我有一个基于App Engine(Java)的网站,需要用户使用Google帐户登录。 情况是: 用户Adam拥有多个帐户。 用户Adam使用帐户Adam1登录并在浏览器页面A中获取他的Adam1数据。 他点击了退出链接,但是在另一个标签页B中打开了它(当然是同一个浏览器) 他在浏览器页面B中使用另一个帐户Adam2登录,显示他的Adam2数据。 然后他返回浏览器页面A并对他的数据进行了一些更改然后发送到服务器,此时我的应用程序将识别当前用户是Adam2 ,并且将对Adam2进行更改,它与其状态不匹配当前页面A,我们的用户可能会感到困惑。 我想也许我可以在向服务器发出更改请求时附加userID参数,服务器端会将当前用户ID与此userID参数进行比较以处理更改请求或返回刷新命令以使过时页面成为如果ID不相同,则刷新到当前帐户。 处理这种情况的最佳做法是什么?

使用Hibernate将下拉列表值保存到Struts 2中的数据库

我想将下拉列表的选定值保存到数据库中。 首先加载index.jsp 。 从index.jsp ,当我们点击index.jsp注册URL时,我们可以去register.jsp 。 struts.xml : register.jsp login.jsp index.jsp : Register register.jsp : 动作类是: public class RegisterAction extends ActionSupport { String name, pwd, email, address, months; int phno; List allMonths = new ArrayList(); List users = new ArrayList(); UserDao udao = new UserDao(); public List getAllMonths() { return allMonths; } public void setAllMonths(List […]

从jsr-303自定义validation器访问数据库

我在我的应用程序上下文中使用基于弹簧的validation与hibernatevalidation器结合使用以下内容: …. 我已经实现了一个访问数据库的自定义validation器,以使用弹簧注入的DAO检查特定对象的有效性约束。 这会导致java.lang.StackOverflowError,因为每次从validation器中从数据库加载对象时都会调用validation,从而导致无限循环。 为了解决这个问题,我尝试在我的实体管理器上设置刷新模式,使用以下代码在validation器中提交: entityManager.setFlushMode(FlushModeType.COMMIT); 这导致hibernate的“集合不通过flush()处理”exception。 是否有一个从自定义validation器访问数据库的最佳实践示例,这将允许我解决这两个问题?

如何在使用Spring @Value时进行简单的属性validation

如果${service.property}不是空字符串,如何检查,抛出某种可读exception,我如何检查? 它必须在Bean创建期间发生。 @Component public class Service { @Value(“${service.property}”) private String property; } 我正在寻找最简单的方法(最少编写代码)。 如果使用注释会很棒。 我目前的解决方案是在属性的setter中执行“手写”validation,但对于这样简单的事情来说,这是一个太多的代码。 提示:我找了一些使用SpEL的方法,因为我已经在@Value使用了它,但是到目前为止我发现它并不那么容易/干净。 但本来可以忽略一些东西。 澄清:预期的行为是,应用程序无法启动。 目标是确保所有属性都已设置,尤其是字符串属性不为空 。 错误应该清楚地说,缺少什么。 我不想设置任何默认值! 用户必须全部设置。

Eclipse Indigo – JPAvalidation问题

我正在使用eclipse indigo并且正在进行“JPAvalidation问题”。 我的命名查询是: from Person p where p.name = :name 并且有这个错误: The query does not start with a valid identifier, has to be either SELECT, UPDATE or DELETE FROM. 但它是一个有效的JPQL查询。 有人知道如何删除此错误? 如果我将查询更改为 select p from Person p where p.name = :name 没有更多的错误,但我不想改变我的所有疑问。 谢谢 MP5

RequestParam的自定义validation不适用于Spring MVC

我无法使用Spring MVC进行自定义validation。 我为它实现了自己的参数和自定义validation器注释(所有都在下面给出),但validation永远不会发生。 任何想法都会非常感激。 调节器 @Validated @RestController public class FooController { @RequestMapping(value = “/somepath”, method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseStatus(HttpStatus.OK) public String get(@CustomParam @RequestParam(String fooParam) { return “Hello”; } } 自定义请求参数 @Documented @Constraint(validatedBy = CustomValidator.class) @Target({ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME) public @interface CustomParam { String message() default “Wrong!”; Class[] groups() default {}; Class[] payload() default {}; } […]

hibernatevalidation器的注释,用于将来至少24小时的日期

我知道存在注释@Future。 如果我使用此注释注释字段 @Future private Date date; 日期必须是将来意味着在当前时刻之后。 现在我需要在当前时刻之后至少24小时validation该日期。 我该怎么做?

如何在Jersey中使用自定义validation

我想在泽西中实现validation,这样如果我发送一个已经存在于DataBase中的UserName或Email的重复值,那么它应该抛出一个错误,说UserName / Email已经存在。 我该如何实现这一目标? 我浏览了这个jersey文件 https://jersey.java.net/documentation/latest/bean-validation.html https://github.com/jersey/jersey/tree/2.6/examples/bean-validation-webapp/src 但是我无法理解我必须遵循什么才能进行自定义的Jerseyvalidation。 假设我在创建用户时在Body中发送Json,如: { “name”:”Krdd”, “userName”:”khnfknf”, “password”:”sfastet”, “email”:”xyz@gmail.com”, “createdBy”:”xyz”, “modifiedBy”:”xyz”, “createdAt”:””, “modifiedAt”:””, } 在此先感谢您的帮助。

如何在服务器validation失败后重新填充jsp页面上的表单字段

我有一个非常简单的Java MVC Web应用程序,并使用servlet来处理表单validation。 如果表单已经过validation,请求将转发到适当的视图。 但是,如果表单validation失败,请求将转发回表单,然后显示相应的错误消息。 我的问题是 – 使用最初由用户在表单中输入的数据重新填充所有表单字段的最有效方法是什么? 我没有使用MVC框架,只使用简单的HttpServlets作为控制器,以.jsp作为视图。

如何通过在java中发送邮件来validation电子邮件地址确实存在

我们的Web应用程序向每个输入其电子邮件ID的用户发送电子邮件 但是,我如何确保用户输入的电子邮件ID是有效的。实际上,当任何用户输入电子邮件ID时,我们会发送链接到他的电子邮件ID以激活帐户。 我有一个发送电子邮件的代码。 但即使邮件ID不存在,它也不会给我任何错误。 你能告诉我如何解决这个问题吗? 如果电子邮件ID不存在,它应该给出一些错误。 我在这里附上我的代码 package csv; import javax.mail.PasswordAuthentication; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.activation.FileDataSource; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; public class email { public void send(String recipeintEmail, String subject, String messageText,String[] attachments) throws […]