JSP页面中的Form表单自动校验(使用validate插件)

一、问题描述

    在jsp页面填写表单时(尤其是在用户注册时),需要对用户输入的内容进行实时校验,防止用户填错。如果通过标签失去焦点再调用相关方法进行校验比较繁琐。

二、原因分析

    使用失去焦点再调用相关方法比较繁琐,不适用。

三、解决措施(使用validate插件进行校验)

    1、引入validate插件。该插件是在jQuery插件的基础上的,所以在引入该插件前需要先引入jQuery插件。

JSP页面中的Form表单自动校验(使用validate插件)_第1张图片

    2、编写Script代码。

    表单验证的格式:$("form表单的选择器").validate(json数据格式);  //键值对  键:值({})

    json数据格式:

        {
      rules:{
            表单项name值:校验规则,
            表单项name值:校验规则... ...
              },
      messages:{
            表单项name值:错误提示信息,
            表单项name值:错误提示信息... ...
              }

    }

    其中:校验规则,可以是一个也可以是多个,如果是多个使用json格式。 

    示例:对用户名进行校验。在$(function()){}中通过id找到需要进行校验的表单,并通过validate()方法进行校验。方法是:在()内均为JSON格式的数据,校验规则rules:{规则},校验不通过的提示信息messages:{提示信息}。具体代码如下:

$(function(){
   $("#registerform").validate({
      rules:{//校验规则关键字
	username:{//需要校验的输入框名称(注意:输入框只能通过其name属性获得,无法通过ID等方式获得)
	  required:true,//是否必须填写
	  rangelength:[3,12]//长度要求
        }
      },
      messages:{//校验不通过时的提示信息
	 username:{//与规则里面的名称对应
	   required:"用户名不能为空!",//校验不通过的提示信息(这里是必填而未填的提示信息)
	   rangelength:$.validator.format("用户名长度在必须为:{0}-{1}之间")//校验不通过的提示信息(这里是长度不符合要求)
	 }
      }
    });
  });

    说明:在rules和messages里面的username都是的name属性。

    3、validate其他具体的规则条件请查阅API文档。

    常用校验规则如下:

    JSP页面中的Form表单自动校验(使用validate插件)_第2张图片

你可能感兴趣的:(JavaEE)