使用jquery验证检查值的唯一性
我试图检查输入值是否已经存在于数据库中,并让用户使用这个Jquery验证器了解它。
它有一个例子来检查输入值的唯一性。
在我的情况下,我使用Java
和Spring MVC
。
这就是我的做法。
在我的jsp
页面中
var agrmntNo = jQuery('#agreementNo').val();
$("#myform").validate(
{
rules:
{
agreementNo:
{
required: true,
remote:'/TFProject/check_agreementNo'+agrmntNo+'.htm'
}
},
messages:
{
agreementNo:
{
required: "Please enter.",
remote:"This agreement number has already been used !."
}
}
});
这是我使用的Java
方法。
@RequestMapping(value="/check_agreementNo1{agrmntNo}.htm", method = RequestMethod.GET)
public boolean check_agreementNo (@PathVariable("agrmntNo") String agrmntNo){
System.out.println("DEBUG:Inside check agreement No in PMS Controller");
System.out.println("DEBUG: URL parameter is : "+agrmntNo);
AgreementBean agrbn = new AgreementBean();
agrbn.setAgrmntNo(agrmntNo);
String rslt = customerservice.check_agreementNo(agrbn);
if(Integer.parseInt(rslt) > 0){
return true;
}else{
return false;
}
}
在这种情况下,它将进入Java
方法。 但该参数不被传递。 提交表单后,我可以在我的浏览器控制台中看到此信息。
GET http://localhost:8081/TFProject/check_agreementNo1.htm?agreementNo=54 500 (Internal Server Error)
它似乎不认可这种方式( spring
的方式)参数传递。 我能做什么?
谢谢!
验证库显然将该值作为查询参数传递。 你不能像你在做的那样向远程参数添加一个值。
最明智的做法是将您的Java方法更改为接受请求参数而不是路径变量。 无论如何,你的方案很糟糕和混乱,因为“/check_agreementNo1{agrmntNo}.htm”不符合REST或任何其他合理的标准。
链接地址: http://www.djcxy.com/p/61097.html上一篇: checking for the uniqueness of a value using jquery validation