Hibernate 服务器端验证错误
我正在做服务器端验证。我有一个带有下拉列表的页面,如果我选择user1,它将显示卷号(在bean类中是长型)、名称、类、电子邮件id。如果我选择user2,它将隐藏卷号,并显示其他字段。但是,当单击用户2的提交按钮时,它正在验证rollno的隐藏字段,并将错误显示为未能将java.lang.String类型的属性值转换为属性retailerId所需的long类型;嵌套异常为java.lang.NumberFormatException:对于输入字符串: 下面是我的bean类代码Hibernate 服务器端验证错误,hibernate,validation,Hibernate,Validation,我正在做服务器端验证。我有一个带有下拉列表的页面,如果我选择user1,它将显示卷号(在bean类中是长型)、名称、类、电子邮件id。如果我选择user2,它将隐藏卷号,并显示其他字段。但是,当单击用户2的提交按钮时,它正在验证rollno的隐藏字段,并将错误显示为未能将java.lang.String类型的属性值转换为属性retailerId所需的long类型;嵌套异常为java.lang.NumberFormatException:对于输入字符串: 下面是我的bean类代码 private
private long rollNo;
@SafeHtml
private String name,
@SafeHtml
private String class
@SafeHtml
private String email
---setter and getter of above--
在Jsp文件中
<form:input tabindex="32" class="form-control" path="rollNo" placeholder="Enter rollNo" title="rollNo"
data-rule-required="true" data-rule-minlength="6" data-rule-maxlength="6"
data-msg-required="Enter a valid rollNo"
data-msg-minlength="Enter a valid rollNo"
data-msg-maxlength="Enter a valid rollNo"/>
你能告诉我我错在哪里吗?当你收到一个请求并且在解析它之前,只需检查
卷号是否为null或空。它不应该验证user2的卷号,因为卷号是隐藏的。而且,如果我把@NotNull放进去,它也会显示出同样的错误。我解决了它。而不是长罗尔诺,我做了长罗尔诺,这很有效
$("#createUserForm").validate({
invalidHandler: function(e, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
$("div.errorContainer").show().text("data missing");
} else {
$("div.errorContainer").hide();
}
},
ignore : ':hidden',
});