我创建了一个非空字段的用户域。
如果我在提交时删除以下 javascript 验证。
Spring.addDecoration(new Spring.ValidateAllDecoration({elementId:'proceed', event:'onclick'}));
notNull 属性的服务器端验证不起作用。保存时创建的用户没有验证错误。
我在这里错过了什么吗?
我创建了一个非空字段的用户域。
如果我在提交时删除以下 javascript 验证。
Spring.addDecoration(new Spring.ValidateAllDecoration({elementId:'proceed', event:'onclick'}));
notNull 属性的服务器端验证不起作用。保存时创建的用户没有验证错误。
我在这里错过了什么吗?
首先,spring-roo 不应该为此负责,spring 默认使用 java 属性编辑器来处理 String,如果没有提供值,它会将其转换为空字符串。
Springs 自己的 StringTrimmerEditor 可以在控制器内部使用,如下所示。
@InitBinder 公共无效initBinder(WebDataBinder活页夹){ binder.registerCustomEditor(String.class, new StringTrimmerEditor(Boolean.TRUE)); }
另一种解决方案是使用这个 JSR-303 注释:
@javax.validation.constraints.Size(min = 1)
您可以手动添加它,或者 Roo 可以通过“field”命令的“--sizeMin”参数为您应用它。