不使用Zend Forms进行Zend表单验证和过滤

4
有没有方法可以使用Zend Validation和Zend Filter类验证和过滤纯HTML表单?如果有,请给出一些示例,我找不到任何示例。
1个回答

4
$email           = $this->_getParam('email');// form's $_POST or $_GET
$email_validator = new Zend_Validate_EmailAddress();

if(!$email_validator->isValid($email)){
    // Error, throw(Exception)
}

为了查看您可以使用的验证方法,请打开库文件夹并转到 library/Zend/Validate/路径,您将看到许多文件/类。这些是可用于验证的类,例如Alnum.php, Alpha.php, Barcode.php, CreditCard.php等。只需创建实例并调用方法isValid();

new Zend_Validate_FileName();

对于过滤器而言,您可以在路径库/Zend/Filter/中看到很多类。其中几乎所有的类都实现了接口Zend_Filter_Interface(Interface.php),其中包含一个方法:

public function filter($value);

有没有一种方法可以验证一组表单元素而不是逐个验证? - Shaolin
有一个例子,必须尝试并查看。http://akrabat.com/zend-framework/zend_filter_input-zend_validate-messages/ - Shaolin
在这个例子中,您可以看到例如 $validators = array('body'=>'Alpha'); 其中键是 $_POST['body'],验证是 Alpha.php。将此逻辑应用于其他所有内容... 并仅调用一次 if($input->isValid()){...} - tasmaniski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接