/** * 测试验证类 * */ public function test() { $validator = new YUN_Validator(); $email = 'dddd..*'; $validator->check($email, array(array('NotEmpty', '用户名不允许为空'), array('StringLength' => array(4, 60), '用户名必须介于 4~60 个字符之间'), array('Regex' => "/^[^\\'\"\\:;,\\<\\>\\?\\/\\\\*\\=\\+\\{\\}\\[\\]\\)\\(\\^%\$#\\!`\\s ]+\$/", '用户名包含非法字符'))); //数据校验 if (!$validator->isValid()) { throw new Exception($validator->getMessage()); } }
/** * 修改资料 * @param string $uid * @param array $info */ public function updateInfo($uid, $data) { $info = array(); $validator = new YUN_Validator(); $where = $this->db->quoteInto('uid=?', $uid); $user = $this->db->fetchRow($this->infoSql($where)); if (empty($user)) { throw new Zend_Exception("用户ID '{$uid}' 不存在"); } if (!empty($data['password'])) { //密码有变动 $validator->check($data['password'], array(array('StringLength' => array(6, 50), '密码必须介于 6~50 个字符之间')))->check($data['confirmPwd'], array(array('NotEmpty', '确认密码不允许为空'), array('Equal' => $data['password'], '两次输入的密码不一致'))); $info['password'] = md5(md5($data['password'])); $info['salt'] = ''; } //数据校验 if (!$validator->isValid()) { throw new Zend_Exception($validator->getMessage()); } if (!empty($info)) { $where = $this->db->quoteInto('uid=?', $uid); $this->db->update('user', $info, $where); } }
/** * 验证文件上传 POST 数据 * @param array $data * @return EGP_Validator */ protected function _validate(array $data) { $validator = new YUN_Validator(); return $validator->check(@$data['title'], array(array('NotEmpty', '标题不能为空')))->check(@$data['content'], array(array('NotEmpty', '信息内容不能为空')))->check(@$data['cate_id'], array(array('NotEmpty', '信息分类不能为空'), array('Integer', '信息分类 ID 必须是一个数字'))); }
/** * 对数据进行校验 * * @param array $data * @return YUN_Validator */ protected function _validate(array $data) { $validator = new YUN_Validator(); $validator->check($data['cate_name'], array(array('NotEmpty', '分类名称不允许为空'), array('StringLength' => array(2, 20), '分类名称必须介于 2~20 个字符之间')))->check($data['sort_order'], array(array('Numeric', '排序必须是数字')))->check($data['cate_id'], array(array('Numeric', '分类ID必须是数字'))); return $validator; }
/** * 验证分类 POST 数据 * @param array $data * @return EGP_Validator */ protected function _validateCate(array $data) { $validator = new YUN_Validator(); return $validator->check($data['cate_name'], array(array('NotEmpty', '分类名称不能为空'), array('StringLength' => array(1, 50), '分类名称不能超过 50 个字符')))->check($data['filepath'], array(array('NotEmpty', '分类存放路径不能为空'), array('Regex' => '/^[a-z_][\\w\\/]+$/i', '分类存放路径包含非法字符'), array('StringLength' => array(1, 100), '分类存放路径不能超过 100 个字符')))->check($data['description'], array(array('StringLength' => array(0, 250), '分类描述不能超过 250 个字符')))->check(intval(@$data['allow_upload']), array(array('Boolean', '分类是否允许上传文件必须是一个布尔值')))->check(intval(@$data['allow_delete']), array(array('Boolean', '分类是否允许删除文件必须是一个布尔值'))); }
/** * 对数据进行校验 * @param array $data * @return EGP_Validator */ protected function _validate(array $data) { $validator = new YUN_Validator(); $validator->check($data['new_mod_name'], array(array('NotEmpty', '模块名称不允许为空'), array('English', '模块名称包含除 [a-zA-Z0-9_] 之外的非法字符'), array('StringLength' => array(2, 20), '模块名称必须介于 2~20 个字符之间')))->check($data['mod_desc'], array(array('NotEmpty', '模块说明不允许为空'), array('StringLength' => array(2, 80), '模块说明必须介于 2~80 个字符之间'))); return $validator; }