éªè¯è§åçå®ä¹é常æ两ç§æ¹å¼ï¼å¦æä½ ä½¿ç¨äºéªè¯å¨çè¯ï¼é常éè¿`rule`å±æ§å®ä¹éªè¯è§åï¼èå¦æ使ç¨çæ¯ç¬ç«éªè¯çè¯ï¼åæ¯éè¿`rule`æ¹æ³è¿è¡å®ä¹ã
## å±æ§å®ä¹
å±æ§å®ä¹æ¹å¼ä»
éäºéªè¯å¨ï¼é常类似äºä¸é¢çæ¹å¼ï¼
~~~
<?php
namespace app\validate;
use think\Validate;
class User extends Validate
{
protected $rule = [
'name' => 'require|max:25',
'age' => 'number|between:1,120',
'email' => 'email',
];
}
~~~
>[danger] ç³»ç»å
ç½®äºä¸äºå¸¸ç¨çéªè¯è§åå¯ä»¥æ»¡è¶³å¤§é¨åçéªè¯éæ±ï¼å
·ä½æ¯ä¸ªè§åçå«ä¹åèå
ç½®è§åä¸èã
å 为ä¸ä¸ªå段å¯ä»¥ä½¿ç¨å¤ä¸ªéªè¯è§åï¼å¦ä¸é¢ç`age`å段å®ä¹äº`number`å`between`两个éªè¯è§åï¼ï¼å¨ä¸äºç¹æ®çæ
åµä¸ï¼ä¸ºäºé¿å
æ··æ·å¯ä»¥å¨`rule`å±æ§ä¸ä½¿ç¨æ°ç»å®ä¹è§åã
~~~
<?php
namespace app\validate;
use think\Validate;
class User extends Validate
{
protected $rule = [
'name' => ['require', 'max' => 25, 'regex' => '/^[\w|\d]\w+/'],
'age' => ['number', 'between' => '1,120'],
'email' => 'email',
];
}
~~~
## æ¹æ³å®ä¹
å¦æ使ç¨çæ¯ç¬ç«éªè¯ï¼å³æå¨è°ç¨éªè¯ç±»è¿è¡éªè¯ï¼æ¹å¼çè¯ï¼é常使ç¨`rule`æ¹æ³è¿è¡éªè¯è§åç设置ï¼ä¸¾ä¾è¯´æå¦ä¸ãç¬ç«éªè¯é常使ç¨`Facade`æè
èªå·±å®ä¾åéªè¯ç±»ã
~~~
$validate = \think\facade\Validate::rule('age', 'number|between:1,120')
->rule([
'name' => 'require|max:25',
'email' => 'email'
]);
$data = [
'name' => 'thinkphp',
'email' => 'thinkphp@qq.com'
];
if (!$validate->check($data)) {
dump($validate->getError());
}
~~~
>[info] `rule`æ¹æ³ä¼ å
¥æ°ç»è¡¨ç¤ºæ¹é设置è§åã
`rule`æ¹æ³è¿å¯ä»¥æ¯æ使ç¨å¯¹è±¡åçè§åå®ä¹ã
æ们æä¸é¢çéªè¯ä»£ç æ¹ä¸º
~~~
use think\facade\Validate;
use think\validate\ValidateRule as Rule;
$validate = Validate::rule('age', Rule::isNumber()->between([1,120]))
->rule([
'name' => Rule::isRequire()->max(25),
'email' => Rule::isEmail(),
]);
$data = [
'name' => 'thinkphp',
'email' => 'thinkphp@qq.com'
];
if (!$validate->check($data)) {
dump($validate->getError());
}
~~~
å¯ä»¥å¯¹æ个å段使ç¨éå
éªè¯ï¼ä¾å¦ï¼
~~~
$validate = Validate::rule([
'name' => function($value) {
return 'thinkphp' == strtolower($value) ? true : false;
},
]);
~~~
éå
æ¯æä¼ å
¥ä¸¤ä¸ªåæ°ï¼ç¬¬ä¸ä¸ªåæ°æ¯å½åå段çå¼ï¼å¿
é¡»ï¼ï¼ç¬¬äºä¸ªåæ°æ¯æææ°æ®ï¼å¯éï¼ã
>[danger] å¦æ使ç¨äºéå
è¿è¡éªè¯ï¼åä¸åæ¯æ对该å段使ç¨å¤ä¸ªéªè¯è§åã
éå
å½æ°å¦æè¿åtrueå表示éªè¯éè¿ï¼è¿åfalse表示éªè¯å¤±è´¥å¹¶ä½¿ç¨ç³»ç»çé误信æ¯ï¼å¦æè¿åå符串ï¼å表示éªè¯å¤±è´¥å¹¶ä¸ä»¥è¿åå¼ä½ä¸ºé误æ示信æ¯ã
~~~
$validate = Validate::rule([
'name' => function($value) {
return 'thinkphp' == strtolower($value) ? true : 'ç¨æ·åé误';
},
]);
~~~
>[danger] å±æ§æ¹å¼å®ä¹éªè¯è§åä¸æ¯æ使ç¨å¯¹è±¡åè§åå®ä¹åéå
å®ä¹
## å
¨å±æ©å±
ä½ å¯ä»¥å¨æ©å±å
æè
åºç¨éé¢å
¨å±æ³¨åéªè¯è§åï¼ä½¿ç¨æ¹æ³
```
Validate::maker(function($validate) {
$validate->extend('extra', 'extra_validate_callback');
});
```
- åºè¨
- åºç¡
- å®è£
- å¼åè§è
- ç®å½ç»æ
- é ç½®
- æ¶æ
- 请æ±æµç¨
- æ¶ææ»è§
- å ¥å£æ件
- å¤åºç¨æ¨¡å¼
- URL访é®
- 容å¨åä¾èµæ³¨å ¥
- æå¡
- é¨é¢
- ä¸é´ä»¶
- äºä»¶
- è·¯ç±
- è·¯ç±å®ä¹
- åéè§å
- è·¯ç±å°å
- è·¯ç±åæ°
- è·¯ç±ä¸é´ä»¶
- è·¯ç±åç»
- èµæºè·¯ç±
- 注解路ç±
- è·¯ç±ç»å®
- ååè·¯ç±
- MISSè·¯ç±
- è·¨å请æ±
- URLçæ
- æ§å¶å¨
- æ§å¶å¨å®ä¹
- åºç¡æ§å¶å¨
- 空æ§å¶å¨
- èµæºæ§å¶å¨
- æ§å¶å¨ä¸é´ä»¶
- 请æ±
- 请æ±å¯¹è±¡
- 请æ±ä¿¡æ¯
- è¾å ¥åé
- 请æ±ç±»å
- HTTP头信æ¯
- 伪éæ
- åæ°ç»å®
- 请æ±ç¼å
- ååº
- ååºè¾åº
- ååºåæ°
- éå®å
- æ件ä¸è½½
- æ°æ®åº
- è¿æ¥æ°æ®åº
- åå¸å¼æ°æ®åº
- æ¥è¯¢æé å¨
- æ¥è¯¢æ°æ®
- æ·»å æ°æ®
- æ´æ°æ°æ®
- å é¤æ°æ®
- æ¥è¯¢è¡¨è¾¾å¼
- é¾å¼æä½
- where
- table
- alias
- field
- strict
- limit
- page
- order
- group
- having
- join
- union
- distinct
- lock
- cache
- comment
- fetchSql
- force
- partition
- failException
- sequence
- replace
- extra
- duplicate
- procedure
- èåæ¥è¯¢
- å页æ¥è¯¢
- æ¶é´æ¥è¯¢
- é«çº§æ¥è¯¢
- è§å¾æ¥è¯¢
- JSONå段
- åæ¥è¯¢
- åçæ¥è¯¢
- æ¥è¯¢äºä»¶
- è·åå¨
- äºå¡æä½
- åå¨è¿ç¨
- æ°æ®é
- æ°æ®åºé©±å¨
- 模å
- å®ä¹
- 模åå段
- æ°å¢
- æ´æ°
- å é¤
- æ¥è¯¢
- æ¥è¯¢èå´
- JSONå段
- è·åå¨
- ä¿®æ¹å¨
- æç´¢å¨
- æ°æ®é
- èªå¨æ¶é´æ³
- åªè¯»å段
- 软å é¤
- ç±»å转æ¢
- 模åè¾åº
- 模åäºä»¶
- 模åå ³è
- ä¸å¯¹ä¸å ³è
- ä¸å¯¹å¤å ³è
- è¿ç¨ä¸å¯¹å¤
- è¿ç¨ä¸å¯¹ä¸
- å¤å¯¹å¤å ³è
- å¤æå ³è
- å ³èé¢è½½å ¥
- å ³èç»è®¡
- å ³èè¾åº
- è§å¾
- 模æ¿åé
- è§å¾è¿æ»¤
- 模æ¿æ¸²æ
- 模æ¿å¼æ
- è§å¾é©±å¨
- é误åæ¥å¿
- å¼å¸¸å¤ç
- æ¥å¿å¤ç
- è°è¯
- è°è¯æ¨¡å¼
- Traceè°è¯
- SQLè°è¯
- åéè°è¯
- è¿ç¨è°è¯
- éªè¯
- éªè¯å¨
- éªè¯è§å
- é误信æ¯
- éªè¯åºæ¯
- è·¯ç±éªè¯
- å ç½®è§å
- 表å令ç
- 注解éªè¯
- æ项
- ç¼å
- Session
- Cookie
- å¤è¯è¨
- ä¸ä¼
- å½ä»¤è¡
- å¯å¨å ç½®æå¡å¨
- æ¥ççæ¬
- èªå¨çæåºç¨ç®å½
- å建类åºæ件
- æ¸ é¤ç¼åæ件
- çææ°æ®è¡¨å段ç¼å
- çæè·¯ç±æ å°ç¼å
- è¾åºè·¯ç±å®ä¹
- èªå®ä¹æ令
- æ©å±åº
- æ°æ®åºè¿ç§»å·¥å ·
- Workerman
- thinkå©æå·¥å ·åº
- éªè¯ç
- Swoole
- éå½
- å©æå½æ°
- å级æ导
- æ´æ°æ¥å¿