+ -
当前位置:首页 → 问答吧 → 智能的数据验证spVerifier教程二,友好提示

智能的数据验证spVerifier教程二,友好提示

时间:2009-12-13

来源:互联网

前面我们已经了解了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. }

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

1. 规则没有对应信息提示,正如例子中的email的全部规则都没有对应的信息提示,那么规则不能通过时返回的提示将是规则的名称。
2. 信息提示存在,但是对应的规则却不存在。这并无问题,同时在重用性方面会有一定的方便。
相信我们看到了信息提示中有一个“ 'youare' => "看来你不是jake" ”的提示, 这youare就是一个自定义的验证规则。下章,我们将介绍如何创建自定义的验证规则。

本文地址:http://speedphp.com/post/spverifier-friendly-tips.html

作者: jake   发布时间: 2009-12-13