Zend_Validate 组件提供一组通用的校验器。它也提供了一个简单的校验器链机制,即在用户定义的顺序下,多个校验器可以被用于单个的数据。
什么是校验器(validator)?
校验器根据要求检查它的输入并产生一个布尔结果--是否输入被成功校验。如果输入不符合要求,校验器另外地提供信息来说明输入不符合要求。
例如,一个 web 应用可能要求一个用户名的长度在6 到12个字符并只包含数字和文字。一个校验器可以被用来确保用户名符合要求。如果一个用户名不符合一个或者全部两个要求,知道它到底不符合哪个要求将非常有用。
用这种方法定义校验为Zend_Validate_Interface
提供了基础,它定义了两个方法,isValid()
和 getMessages()
。isValid()
方法根据提供的值来校验,当且仅当这个值通过校验条件,它返回true
。如果isValid()
返回false
,getMessages()
返回一个信息数组来解释校验失败的原因。
注意 | |
---|---|
|
下面的例子示例一个e-mail地址的校验:
<?php require_once 'Zend/Validate/EmailAddress.php'; $validator = new Zend_Validate_EmailAddress(); if ($validator->isValid($email)) { // email appears to be valid } else { // email is invalid; print the reasons foreach ($validator->getMessages() as $message) { echo "$message\n"; } } ?>