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