Github源码:https://github.com/phalcon/cphalcon/tree/master/phalcon/validation/validator

Phalcon 2.0 Model 字段验证:

public function validation()
{
$this->validate(new PresenceOf(array(
"field" => 'code',
"message" => '应用名称不能为空',
)));
$this->validate(new Regex(array(
"field" => 'code',
"message" => '应用名称只能包含字母、数字、 中、下划线',
'pattern' => '/^[-A-Za-z0-9_]+$/',
)));
$this->validate(new Model\Validator\Uniqueness(array(
'field' => 'code',
'message' => '应用名称已被使用'
)));
$this->validate(new PresenceOf(array(
"field" => 'name',
"message" => '名称不能为空',
)));
$this->validate(new PresenceOf(array(
"field" => 'mechanismId',
"message" => '请选择归属推理系统',
))); return $this->validationHasFailed() != true;
}

Phalcon 3.0 Model 字段验证:

use Phalcon\Validation\Validator\PresenceOf;
use Phalcon\Validation\Validator\Regex as RegexValidator;
use Phalcon\Validation\Validator\Uniqueness;
 public function validation()
{
$validator = new Validation();
//验证值不为null或空字符串
$validator->add(
[
'mobile',
'password'
],
new PresenceOf([
"message" => [
'mobile' => '手机号不能为空',
'password' => '密码不能为空',
],
])
);
//允许验证字段的值是否与正则表达式匹配
$validator->add(
[
'mobile',
'password'
],
new RegexValidator([
'pattern' => [
'mobile' => "/^(13[0-9]|14[0-9]|17[0-9]|15[0-9]|18[0-9])\d{8}$/",
'password' => "/^[A-Za-z0-9_]+$/",
],
'message' => [
'mobile' => '手机号只能包含英文、数字和下划线',
'password' => '密码只能包含英文、数字和下划线'
]
])
);
//检查相关表中的字段是否唯一
$validator->add(
'mobile',
new Uniqueness([
'model' => 'User',
'message' => ':field must be unique'
])
);
return $this->validate($validator);
}

Phalcon框架之———— 2.0升级到3.0 问题Model验证问题解决的更多相关文章

  1. 从OLLVM4.0.0升级到LLVM8.0.1,并且给LLVM增加Pass 插件系统

    版本太低了,用得我这个揪心. 上周日决定把手头的ollvm从4.0.0升级到LLVM8.0.1. 里面的Pass的话,决定移植到8.0.1里面. 我习惯从代码上来动手 1:下载LLVM  https: ...

  2. 系统补丁更新导致MVC3.0.0升级到3.0.1的问题解决

    在更新了系统补丁之后,会不知觉的将MVC3.0.0升级到MVC3.0.1的问题,解决的思路如下: 1.全部MVC引用使用NuGet进行包的管理. 2.单独把MVC库抽离出来,然后放在单独的项目文件夹, ...

  3. Caffe使用: Ubuntu 14.04(x64) 从cuda 7.0 升级到 cuda8.0

    由于之前已经在Ubuntu 14.04 x64上面安装cuda7.0+caffe, 并且已经配置好,caffe也已经跑通. 但是最近需要使用Torch,而Torch对cuda的要求是8.0,因此决定对 ...

  4. ASP.NET Core 2.0升级到3.0的变化和问题

    前言 在.NET Core 2.0发布的时候,博主也趁热使用ASP.NET Core 2.0写了一个独立的博客网站,现如今恰逢.NET Core 3.0发布之际,于是将该网站进行了升级. 下面就记录升 ...

  5. oracle 11.2.0.1.0 升级 11.2.0.4.0 并 patch 到11.2.0.4.7

    升级步骤: (1)    备份数据库 (2)    运行patchset,升级oracle 软件 (3)    准备新的ORACLE_HOME (4)    运行dbua 或者脚本升级实例 (5)   ...

  6. Dolphin Scheduler 1.1.0升级1.2.0避坑指南

    本文章经授权转载 组件介绍 Apache Dolphin Scheduler是一个分布式易扩展的可视化DAG工作流任务调度系统.致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开 ...

  7. Json.Net从4.0升级到7.0带来的问题

    1.由于被迫Json.Net升级,导致了我们一部分查询出来数据 2.分析原因result = JsonConvert.DeserializeObject(inputContent, JsonDataT ...

  8. 【opatch打补丁】oracle10.2.0.5.0升级10.2.0.5.9 for linux

    https://wenku.baidu.com/view/c38702b56edb6f1afe001f59.html    这篇文章也不错,可参考 任务:oracle 10.2.0.5.0 打补丁升级 ...

  9. EF 4.0 升级到 6.0 问题解决办法

    1.工具->库程序包管理器-> 管理解决方案的Nuget 程序包  找到EntityFramework 管理,勾选把需要进入 EF6.0的 项目,进行升级.

随机推荐

  1. http to https

    https://www.cnblogs.com/powertoolsteam/p/http2https.html

  2. Redux系列01:从一个简单例子了解action、store、reducer

    其实,redux的核心概念就是store.action.reducer,从调用关系来看如下所示 store.dispatch(action) --> reducer(state, action) ...

  3. hdu 2036:改革春风吹满地(叉积求凸多边形面积)

    改革春风吹满地 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  4. DICOM 协议学习笔记之 How Does DICOM Work ?

    How Does DICOM Work ? DICOM有一套自己自己的模型体系,在进行具体介绍之前,首先讲解下DICOM模型: 在DICOM世界当中,所有的包括患者.检查.医学设备等都可以被视为具有不 ...

  5. Java实验报告(实验三)

    课程:Java程序设计          班级: 1351 姓名:王玮怡                学号:20135116 成绩:             指导教师:娄嘉鹏       实验日期: ...

  6. Linux换源

    Linux换源 前言 最近学校的ipv6坏了,导致从deepin本身获取的源速度极慢,笔者实在忍无可忍,随后在同学指导下换了清华大学ipv4的源 步骤 sudo gedit /etc/apt/sour ...

  7. Apache ActiveMQ 学习一

    Apache ActiveMQ 5.8.0 Java 7 support (compiled with jdk6 and validated with jdk7) apache-activemq-5. ...

  8. 2013长春网赛1004 hdu 4762 Cut the Cake

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4762 题意:有个蛋糕,切成m块,将n个草莓放在上面,问所有的草莓放在同一块蛋糕上面的概率是多少.2 & ...

  9. windows无法安装到这个磁盘 gpt分区形式

    利用U盘装系统的步骤 工具: Rufus  下载地址:http://rufus.akeo.ie/?locale=zh_CN -------------------------------------- ...

  10. Codeforces 600E Lomsat gelral(dsu on tree)

    dsu on tree板子题.这个trick保证均摊O(nlogn)的复杂度,要求资瓷O(1)将一个元素插入集合,清空集合时每个元素O(1)删除.(当然log的话就变成log^2了) 具体的,每次先遍 ...