phalcon——验证
一个完整的使用实例:(验证模型数据)
use Phalcon\Mvc\Model;
use Phalcon\Mvc\Model\Validator\Email as EmailValidator;
use Phalcon\Mvc\Model\Validator\Uniqueness as UniquenessValidator;
class Users extends Model
{
//定义验证规则
public function validation()
{
$this->validate(new EmailValidator(array(
'field' => 'email',
'message' => '邮箱无效'
)));
$this->validate(new UniquenessValidator(array(
'field' => 'email',
'message' => '对不起,该邮箱已注册'
)));
$this->validate(new UniquenessValidator(array(
'field' => 'username',
'message' => '对不起,该用户名已被占用'
)));
if($this->validationHasFailed() == true) {
return false;
}
}
}
也可以用于验证非模型数据:
use Phalcon\Validation;
use Phalcon\Validation\Validator\Email;
use Phalcon\Validation\Validator\PresenceOf;
$validation = new Validation();
$validation->add('email', new Email(array(
'message' => 'The e-mail is not valid'
)));
$messages = $validation->validate($_POST);
if (count($messages)) {
foreach ($messages as $message) {
echo $message, '<br>';
}
}
过滤数据:
$validation->setFilters('name', 'trim');
$validation->setFilters('email', 'trim');
验证事件:
public function beforeValidation($data, $entity, $messages)
public function afterValidation($data, $entity, $messages)
(事件函数中若返回了false,验证就会终止)
取消验证:
$validation->add('telephone', new PresenceOf(array(
'message' => 'The telephone is required',
'cancelOnFail' => true
)));
(若验证失败终止后面的所有验证)
最新文章
- JDK1.7.0_45源码阅读<;java.lang.Boolean>;
- BZOJ3223: Tyvj 1729 文艺平衡树 [splay]
- LeetCode之226. Invert Binary Tree
- Ubuntu14.04_64位使用过程
- WEBSTORM 2016.3 activation code激活
- HTTP协议小结
- 探索.git目录
- LPTHW 笨方法学习python 16章
- 使用Varnish代替Squid做网站缓存加速器的详细解决方案----转载
- LintCode-Unique Path II
- Java项目打包在CMD或者Linux下运行
- mvc Model元数据【学习笔记】
- 解决CSS中float:left后需要clear:both清空的繁琐步骤(转)
- [Head First Python]4. summary
- JQ动画,背景透明度
- 详解JS设计模式
- cmder使用简介
- VC.【转】采用_beginthread/_beginthreadex函数创建多线程
- npm降低版本(降级)
- 我在JS上解惑之路1