您的位置:首页 > 其它

phalcon——验证

2015-08-01 23:39 337 查看
一个完整的使用实例:(验证模型数据)

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

)));

(若验证失败终止后面的所有验证)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: