当前位置: 首页 > 面试题库 >

经Playframework JSR-303验证的“字段”没有用于数据绑定的相应访问器

徐帅
2023-03-14
问题内容

当我将以下代码添加到我的项目中后

Form<User> filledForm2 = userSignupForm.bindFromRequest();

它通过显示一条错误消息来停止工作,该错误消息指出:

Execution exception
[IllegalStateException: JSR-303 validated property 'Password' does not have a corresponding accessor for data binding - check your DataBinder's configuration (bean property versus direct field access)]

我的User课是这样的:

class User{
String username;
String Password;
}

现在如何在Java Play框架中检查/修改DataBinder的配置?


问题答案:

实际上,这不应该发生,因为Play会自动生成getter和setter,请参见Guillaume的注释。

因此,您的IDE可能会引起问题,例如Guillaume的Eclipse注释。或者您的sbt缓存已损坏并且需要清理,您可以这样做play clean- all(在此处阅读有关内容)

顺便说一句 ,将Password属性更改为password可能导致重新生成了缓存,因此解决了该问题。

更新:

对于使用的最新版本的Play,activator似乎以下是最新的等效版本:

activator cleanactivator clean-files



 类似资料:
  • 我按照文档(http://docs.spring.io/spring/docs/4.0.x/spring-framework-reference/html/validation.html)中给出的内容配置了JSR-303自定义验证器,在类路径上使用LocalValidatorFactoryBean和Hibernate验证器完成。但是,我的验证器只是拒绝启动。我在这里(https://github.

  • 配置 package entity // 定义 Member 结构体 type Member struct { Name string `form:"name" json:"name" binding:"required,NameValid"` Age int `form:"age" json:"age" binding:"required,gt=10,lt=120"

  • 配置 package entity // 定义 Member 结构体 type Member struct { Name string `form:"name" json:"name" binding:"required,NameValid"` Age int `form:"age" json:"age" binding:"required,gt=10,lt=120"

  • 概述 上篇文章分享了 Gin 框架使用 Logrus 进行日志记录,这篇文章分享 Gin 框架的数据绑定与验证。 有读者咨询我一个问题,如何让框架的运行日志不输出控制台? 解决方案: engine := gin.Default() //修改成如下 engine := gin.New() 我是怎么知道的?看框架代码。 Default(): func Default() *Engine {

  • 我有一个可以创建和编辑组的应用程序。每个团体都有一个独特的头衔。当有人试图创建新组时,我会检查是否有具有该标题的组,如果有,则验证失败。问题是,当有人试图编辑组而不更改标题时,根据我的自定义验证,有一个组具有该标题(有人正在编辑的标题),而我的验证失败,因此用户无法保存该组。所以我想问一下,是否有人能解决这个问题。非常感谢您的回答! 我的班级 我的验证器接口 我的验证器