我在表单提交期间使用@Valid
进行验证,并遇到属性为null的错误。我有一个Country类,其中包含code
,name
和createdBy
等属性,并且都具有预定义的值。当用户加载页面时,表单上的已加载属性仅为code
和name
。用户更改值并执行提交后,createdBy
的值为null,因此验证失败。我正在考虑将createdBy值存储在html的隐藏字段中,以便验证通过。鉴于安全性,我认为任何人都可以实际修改隐藏字段值。有更好的方法吗? OpenSessionInViewFilter会以任何方式帮助吗?
已更新
很抱歉,我忘了提及,浏览器从服务器获取的数据是JSON(json对象列表)的形式。在表单提交之前,编写了一个JavaScript来根据html表中所选对象(带有ID)填充表单。所以我发送到服务器的基本上是
<input type="hidden" name="id"/>
<html:field name="code" labelCode="label.code" type="text"/>
<html:field name="name" labelCode="label.name" type="text"/>