数据校验
数据校验是指对表单提交类的数据进行校验。如:用户注册、下订单等。 需要对这类提交的数据进行校验,如果不合法则不能通过。
数据校验和变量过滤器的区别为:变量过滤器一般给get请求使用的,数据校验一般给post请求使用的。
thinkjs里提供了数据校验的功能,在Action里通过this.valid方法使用。如:
var email = this.post("email");//检测email是否合法//检测单个值时返回是否合法var isValid = this.valid(email, "email");
除了检测单个值,也可以同时检测多个值,返回所有的错误信息。如:
//检测多个值,返回全部的错误信息var errMsg = this.valid([{name: "email",value: email,valid: "email",msg: {email: "email不合法"}}, {name: "pwd",value: password,valid: ["length"],length_args: [6, 20], //密码长度限制6-20位msg: {length: "密码长度不合法"}}])
返回的错误信息为:
//检测的错误信息var errMsg = {email: "email不合法",pwd: "密码长度不合法"}
检测类型
支持的检测类型有:
length限制长度,需要传入限制长度的数值。如:length_args: [6]长度不能小于6,length_args: [6, 20]长度为6-20。required长度必须大于0regexp自定义正则检测。如:regexp_args: [/\w+{5}/]email邮箱time时间戳cnname中文idnumber身份证号码mobile手机号zipcode邮编confirm2次值是否一致urlurlint整数float浮点数range整数范围。如:range_args: [100, 200]100-200之间ip4ip4ip6ip6ipipdate日期
