Zend Framework校验器Zend_Validate用法详解
网络编程 2021-07-05 08:23www.168986.cn编程入门
这篇文章主要介绍了Zend Framework校验器Zend_Validate用法,结合实例形式分析了校验器Zend_Validate的功能、使用技巧与相关注意事项,需要的朋友可以参考下
本文实例讲述了Zend Framework校验器Zend_Validate用法。分享给大家供大家参考,具体如下
引言
是对输入内容进行检查,并生成一个布尔结果来表明内容是否被成功校验的机制。
如果isValid()方法返回False,子类的getMessage()方法将返回一个消息数组来解释校验失败的原因。
为了正确地返回消息与错误内容,对于isValid()方法的每次调用,都需要清除前一个isValid()方法调用所导致的消息和错误。
案例
<?php require_once 'Zend/Validate/EmailAddress.php'; function c_email($email) { $validator = new Zend_Validate_EmailAddress(); if($validator->isValid($email)){ echo "输入的E-mail地址"; echo $email."有效!<p>"; }else{ echo "输入的E-mail地址"; echo $email."无效!"; echo "失败消息为<p>"; foreach($validator->getMessages() as $message){ echo $message."<p>"; } foreach($validator->getErrors() as $error){ echo $error."<p>"; } } } $e_m1 = "abc@123."; $e_m2 = "abc#123."; c_email($e_m1); c_email($e_m2);
结果
输入的E-mail地址abc@123.有效!
输入的E-mail地址abc#123.无效!失败消息为
'abc#123.' is not a valid email address in the basic format local-part@hostname
emailAddressInvalidFormat
说明
在引入类之后,定义一个验证函数,在函数中实例化类。用isValid()方法来进行验证,不同的子类验证器验证的内容是不一样的。
通过getMessages()方法和getErrors()方法来。
源码赏析
public function isValid($value) { if (!is_string($value)) { $this->_error(self::INVALID); return false; } $matches = array(); $length = true; $this->_setValue($value); // Split email address up and disallow '..' if ((strpos($value, '..') !== false) or (!preg_match('/^(.+)@([^@]+)$/', $value, $matches))) { $this->_error(self::INVALID_FORMAT); return false; } $this->_localPart = $matches[1]; $this->_hostname = $matches[2]; if ((strlen($this->_localPart) > 64) || (strlen($this->_hostname) > 255)) { $length = false; $this->_error(self::LENGTH_EXCEEDED); } // Match hostname part if ($this->_options['domain']) { $hostname = $this->_validateHostnamePart(); } $local = $this->_validateLocalPart(); // If both parts valid, return true if ($local && $length) { if (($this->_options['domain'] && $hostname) || !$this->_options['domain']) { return true; } } return false; }
解析
这是主要的验证函数内容,分成了多种情况进行验证,有是否字符串,有是否符合邮箱规则,有长度是否符合,最终都符合才返回true。
更多关于zend相关内容感兴趣的读者可查看本站专题《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程