#1 jake
前面我们已经了解了spVerifier的规则验证,接下来我们继续改善这些验证规则,让它们可以更好服务于我们的应用程序。
请不断地完善您的验证规则及提示信息,因为这些规则不仅在当前的应用程序中可以使用,在未来的开发中也是可以直接使用的,这将提高了代码的可重用性,减少重复的工作,从而达到快速开发的目的。当然,您还可以登录到sp框架官方网站寻找网友们分享的验证规则。
还是使用上章的例子,我们为用户名的验证加入了信息提示:
class user extends spModel // 这是一个继承了spModel的数据类
{
public $pk = 'uid';
public $table = 'user';
// 定义验证规则
var $verifier = array(
"rules" => array( // 规则
'username' => array( // 这里是对username的验证规则
'notnull' => TRUE, // username不能为空
'minlength' => 5, // username长度不能小于5
'maxlength' => 12, // username长度不能大于12
),
'email' => array( // 这里是对email的验证规则
'notnull' => TRUE, // email不能为空
'email' => TRUE, // 必须要是电子邮件格式
'minlength' => 8, // email长度不能小于8
'maxlength' => 20, // email长度不能大于20
),
),
"messages" => array( // 提示信息
'username' => array(
'notnull' => "姓名不能为空",
'minlength' => "姓名不能少于5个字符",
'maxlength' => "姓名不能大于20个字符",
'youare' => "看来你不是jake", // 没有出现在规则中的信息提示
),
)
);
}
这里我们可以看到,加入信息提示的方法和规则的写作方法差不多,而且与规则是一一对应的。如果某个规则存在对应的提示,那么当该规则不能通过时将返回对应的提示。同时也存在以下两种情况:
- 规则没有对应信息提示,正如例子中的email的全部规则都没有对应的信息提示,那么规则不能通过时返回的提示将是规则的名称。
- 信息提示存在,但是对应的规则却不存在。这并无问题,同时在重用性方面会有一定的方便。
相信我们看到了信息提示中有一个“ 'youare' => "看来你不是jake" ”的提示, 这youare就是一个自定义的验证规则。下章,我们将介绍如何创建自定义的验证规则。
2012-08-04 16:45:30