手册 >> 数据操作 >> 智能的数据验证spVerifier教程二,友好提示

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

前面我们已经了解了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", // 没有出现在规则中的信息提示
			),
		)
	);
}		

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

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

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