OneThink自动验证设置之自定义错误代码

来源:互联网 发布:宝洁 波士顿矩阵分析 编辑:程序博客网 时间:2024/05/16 15:44

在ThinkPHP中提供了一种数据验证方法,即自动验证。

数据验证有两种方式:

  1. 静态方式:在模型类里面通过$_validate属性定义验证规则。
  2. 动态方式:使用模型类的validate方法动态创建自动验证规则。
在OneThink的User控制器中,对用户登录以及注册定义了数据验证,而他的验证返回的错误信息是通过错误代码实现的。

在OneThink中想要自定义错误代码可以到Application/Home/Controller/UserController.class.php里面设置(110行):



/** * 获取用户注册错误信息 * @param  integer $code 错误编码 * @return string        错误信息 */private function showRegError($code = 0){switch ($code) {case -1:  $error = '用户名长度必须在16个字符以内!'; break;case -2:  $error = '用户名被禁止注册!'; break;case -3:  $error = '用户名被占用!'; break;case -4:  $error = '密码长度必须在6-30个字符之间!'; break;case -5:  $error = '邮箱格式不正确!'; break;case -6:  $error = '邮箱长度必须在1-32个字符之间!'; break;case -7:  $error = '邮箱被禁止注册!'; break;case -8:  $error = '邮箱被占用!'; break;case -9:  $error = '手机格式不正确!'; break;case -10: $error = '手机被禁止注册!'; break;case -11: $error = '手机号被占用!'; break;default:  $error = '未知错误';}return $error;}
如果想要对登录注册返回错误信息进行自定义的话,可以在Application/User/Model/UcenterMemberModel.class.php中添加(29行):

protected $_validate = array(/* 验证用户名 */array('username', '1,30', -1, self::EXISTS_VALIDATE, 'length'), //用户名长度不合法array('username', 'checkDenyMember', -2, self::EXISTS_VALIDATE, 'callback'), //用户名禁止注册array('username', '', -3, self::EXISTS_VALIDATE, 'unique'), //用户名被占用array('username', 'checkUserNum', -12, self::EXISTS_VALIDATE, 'callback'), //用户名不是合法教师工号);

添加自动验证规则遵循ThinkPHP的自动验证规则,具体可以查看 ThinkPHP开发手册。




0 0
原创粉丝点击