使用jquery验证检查值的唯一性

我试图检查输入值是否已经存在于数据库中,并让用户使用这个Jquery验证器了解它。

它有一个例子来检查输入值的唯一性。

在我的情况下,我使用JavaSpring 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

下一篇: Spring MVC Annotations Date Range Validation