请选择 进入手机版 | 继续访问电脑版

SpeedPHP框架

 找回密码
 注册成为新用户

QQ登录

只需一步,快速开始

查看: 5427|回复: 0

[数据操作] 数据验证检查友好提示

[复制链接]
发表于 2012-8-4 16:45:30 | 显示全部楼层 |阅读模式
前面我们已经了解了spVerifier的规则验证,接下来我们继续改善这些验证规则,让它们可以更好服务于我们的应用程序。

请不断地完善您的验证规则及提示信息,因为这些规则不仅在当前的应用程序中可以使用,在未来的开发中也是可以直接使用的,这将提高了代码的可重用性,减少重复的工作,从而达到快速开发的目的。当然,您还可以登录到sp框架官方网站寻找网友们分享的验证规则。
还是使用上章的例子,我们为用户名的验证加入了信息提示:
  1. class user extends spModel // 这是一个继承了spModel的数据类
  2. {
  3.         public $pk = 'uid';
  4.         public $table = 'user';
  5.    // 定义验证规则
  6.         var $verifier = array(
  7.                 "rules" => array( // 规则
  8.                         'username' => array(  // 这里是对username的验证规则
  9.                                 'notnull' => TRUE, // username不能为空
  10.                                 'minlength' => 5,  // username长度不能小于5
  11.                                 'maxlength' => 12, // username长度不能大于12
  12.                         ),
  13.                         'email' => array(   // 这里是对email的验证规则
  14.                                 'notnull' => TRUE, // email不能为空
  15.                                 'email' => TRUE,   // 必须要是电子邮件格式
  16.                                 'minlength' => 8,  // email长度不能小于8
  17.                                 'maxlength' => 20, // email长度不能大于20
  18.                         ),
  19.                 ),
  20.                 "messages" => array( // 提示信息
  21.                         'username' => array(
  22.                                 'notnull' => "姓名不能为空",
  23.                                 'minlength' => "姓名不能少于5个字符",
  24.                                 'maxlength' => "姓名不能大于20个字符",
  25.                                 'youare' => "看来你不是jake", // 没有出现在规则中的信息提示
  26.                         ),
  27.                 )
  28.         );
  29. }               
复制代码

这里我们可以看到,加入信息提示的方法和规则的写作方法差不多,而且与规则是一一对应的。如果某个规则存在对应的提示,那么当该规则不能通过时将返回对应的提示。同时也存在以下两种情况:

  • 规则没有对应信息提示,正如例子中的email的全部规则都没有对应的信息提示,那么规则不能通过时返回的提示将是规则的名称。
  • 信息提示存在,但是对应的规则却不存在。这并无问题,同时在重用性方面会有一定的方便。

相信我们看到了信息提示中有一个“ 'youare' => "看来你不是jake" ”的提示, 这youare就是一个自定义的验证规则。下章,我们将介绍如何创建自定义的验证规则。


您需要登录后才可以回帖 登录 | 注册成为新用户

本版积分规则

手机浏览|简版|中文PHP框架|开源协议|SpeedPHP.com ( 粤ICP备08008671号

GMT+8, 2020-7-8 12:02

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表