1. 功能介绍

    页面中输入相关的限制校验(比如是否必填、最大输入数、数字输入限制、Email、身份证校验等)只需在网页中定义对应的校验属性,然后在页面提交中定义校验方法即可。

  2. 主要特性

    1. 提供完整的客户端校验解决方案,提供通用的统一入口简化校验,也提供灵活的扩展性。
    2. 查询操作和提交操作的校验方法分离,统一办业务时一页操作的效果。
    3. 开放更灵活的校验方法,方便定制。
  3. 示例

    1. 必填、最大输入、最小输入校验

      <input
      	type="text" jwcid="@TextField" name="xxxx" value="ognl:info.SCHE_SUBJECT"
      	desc="日程主题"
      	nullable="no" //是否必填,为no表示必填,默认为非必填
      	maxsize="100" //最大输入数
      	minsize="10"//最小输入数
      	equsize="10"//定值
      	datatype="text" //指定校验内容为文本
      />
      

      说明:numeric(数字),integer(整数),pinteger(正整数),ninteger(负整数),nature(自然数)

    2. 数字校验

      <input
      	type="text" jwcid="@TextField" name="xxxx" value="ognl:info.SCHE_SUBJECT"
      	desc="日程主题"
      	datatype="numeric" //指定校验内容数字
      />
      

      说明:
      日期格式目前支持:
      yyyy,yyyyMM,yyyy-MM,yyyy/MM
      yyyyMMdd,yyyy-MM-dd,yyyy/MM/dd
      HH,HHmm,HH:mm,HHmmss,HH:mm:ss
      yyyyMMdd HH,yyyy-MM-dd HH,yyyy/MM/dd HH
      yyyyMMdd HHmm,yyyy-MM-dd HH:mm,yyyy/MM/dd HH:mm
      yyyyMMdd HHmmss,yyyy-MM-dd HH:mm:ss,yyyy/MM/dd HH:mm:ss

    3. 日期时间校验

      <input
      	type="text" jwcid="@DateField" name="xxxx" value="ognl:info.SCHE_TIME"
      	desc="提醒时间"
      	datatype="date" //指定校验内容日期时间
      	format="yyyy-MM-dd HH:mm" //校验输入的日期时间格式
      />
      
    4. Email地址校验

      <input
      	type="text"
      	jwcid="@TextField" name="mail" value="ognl:info.SCHE_TIME"
      	desc="Email"
      	datatype="email" //指定校验内容Email地址
      />
      
    5. 文件类型校验

      <input
      	type="file" datatype="file"
      	extname="png,jpg,jpeg"
      	desc="头像"
      />
      
    6. 手机号码校验

      datatype="mbphone"
      
    7. 身份证号码

      datatype="pspt"
      
    8. IP地址校验

      datatype="ip"
      
    9. 只能为数字或字母

      datatype="numchar"
      
    10. 只能为数字或小写字母

      datatype="numuchar"
      
    11. 只能为数字或小写字母

      datatype="numlchar"
      
  4. 注意事项

    1. 配置校验属性,必须带有desc="..."参数,不配置将不会对当前的表单控件校验
    2. verifyAll只做校验,没有载入效果,所以verifyAll是使用场景为自定义校验时可以组合使用
    3. 直接校验可以使用confrimXXX(提交类),queryXXX(查询类)操作,如果需要自定义校验,可以嵌套使用verifyXXX(校验类),若不需要任何校验,但也必须加上initialAll(初始化),保证参数传递的一致
    4. 注意区分confirmXX(提交操作)和queryXXX(查询操作,在页面需要返回数据,如查询列表,查询详情)方法,此两类方法的函数方法都有一一对应的
    5. 如果需要定制校验函数,最好采用verifyXXX+confirmXXX|queryXXX来组合实现
    6. 对于不采用目前所提供的校验方法的应用程序,必须封装初始方法
    7. 常用开发只需使用confirmXX或queryXX类方法
  5. 其它常用API

    方法 说明
    $.validate.verifyAll(object); 返回 true|false 校验页面上所有 tapestry 输入框组件和下拉框组件的值
    $.validate.verifyBox(object,boxName,info) 返回 true|false 检查 DOM 元素 object 下,name 为 boxName 的复选框是否有选中值,如果没有则提示 info 信息
    $.validate.queryAll(object); 返回 true|false 查询前对页面输入进行校验
    $.validate.confirmAll(object,info) 返回 true|false 查询或提交前对页面输入进行校验,如果结果为 false 且传入了 info,则提示 info 信息
    $.validate.queryForm(object); 返回 true|false 查询前对页面输入进行校验,并显示页面载入遮罩,遮罩文字为“正在提交表单...”
    $.validate.confirmForm(object,info) 返回 true|false 查询或提交前对页面输入进行校验,并显示页面载入遮罩,遮罩文字为“正在提交表单...”,如果结果为 false 且传入了 info,则提示 info 信息
    $.verifylib.checkLength(str, len) 返回 true|false 验证字符串str的长度是否等于len;
    $.verifylib.checkMinLength(str, len) 返回 true|false 验证字符串str的长度是否小于len;
    $.verifylib.checkMaxLength(str, len) 返回 true|false 验证字符串str的长度是否大于len;
    $.verifylib.checkInteger(val, desc) 返回 true|false 验证val是否为整数,desc为提示内容
    $.verifylib.checkPInteger(val) 返回 true|false 验证val是否为正整数
    $.verifylib.checkNInteger(val) 返回 true|false 验证val是否为负整数
    $.verifylib.checkNumeric(val ,format) 返回 true|false 验证val是否为format格式
    $.verifylib.checkNature(val, desc) 返回 true|false 验证val是否为自然数
    $.verifylib.checkNumberRange(val, min, max) 返回 true|false 验证val是否在min与max之间
    $.verifylib.checkDate(str, format) 返回 true|false 验证str是否为format的时间格式
    $.verifylib.checkEmail(str) 返回 true|false 验证str是否为email格式
    $.verifylib.checkFile(val, extname) 返回 true|false 验证val是否为extname格式
    $.verifylib.checkMbphone(val) 返回 true|false 验证val是否为手机号码
    $.verifylib.checkPspt(val) 返回 true|false 验证val是否为身份证号码
    $.verifylib.checkIp(val) 返回 true|false 验证val是否为IP地址