最近想做一个表单验证的框架供项目使用。js基础又不牢。看了看jquery 的validate。提供了一些方法。不知如何扩展。想做一个方法传递一个表单的id  然后验证表单内所有需要校验的文本或者控件。【表单内全部控件校验】
另一个是单独的校验。【单独控件校验】现在有几个问题。1、如何根据表单的id遍历其表单囊括的控件比如:
<form id = "formId" >
  <input type="text" id="aa" class="required" maxlength="2" >  <input type="text" id="bb" class="required" email="true" >
</form>根据表单获取内部的所有需要校验的控件。2、能否方便国际化提示消息。能否在控件上多设置一个属性比如message="required:xxx email:yyy"  然后根据其出错的性质来提示不同的message。
例如:
<input type="text" email="true" required="true" message="required:这是required的提示消息 email:这是email的提示消息" >

解决方案 »

  1.   

    使用class="{}"的方式,必须引入包:jquery.metadata.js可以使用如下的方法,修改提示内容:
    class="{required:true,minlength:5,messages:{required:'请输入内容'}}"
      

  2.   

    根据表单id获得表单的对象form后用
    var elements=form.getElementsByTagName("*")可以获得该表单下的所有元素
    不过可能需要检测一下这个元素是否需要验证 如果需要验证的话加一个自定义的required属性
    所以
    for(var i=0;i<elements.length;i++){
    if(elements[i].getAttribute("required")){
    var reg=new RegExp(str);
    if(!reg.test(elements.value)){
    var message=elements[i].getAttribute("message");
    alert(message);
    }
    }
    }
    试试
      

  3.   

    看了看jquery validata的api  
    觉得能符合我们框架的基本需求。
    不过可以扩展自己的方法。也有相对应的国际化信息提示。
    我问的问题api里也都有介绍。
    故结贴。