@@ -77,10 +77,10 @@ git clone https://github.com/inhere/php-validate.git // github
77
77
git clone https://gitee.com/inhere/php-validate.git // gitee
78
78
```
79
79
80
- ## 使用
80
+ ## 立即使用
81
81
82
82
<a name =" how-to-use1 " ></a >
83
- ### 方式 1: 创建一个新的class,并继承Validation
83
+ ### 方式1: 继承类 ` Validation `
84
84
85
85
创建一个新的class,并继承 ` Inhere\Validate\Validation ` 。用于一个(或一系列相关)请求的验证, 相当于 laravel 的 表单请求验证
86
86
@@ -151,7 +151,7 @@ class PageRequest extends Validation
151
151
}
152
152
```
153
153
154
- 使用
154
+ - 使用
155
155
156
156
``` php
157
157
// 验证 POST 数据
@@ -171,7 +171,7 @@ $db->save($safeData);
171
171
```
172
172
173
173
<a name =" how-to-use2 " ></a >
174
- ### 方式 2 : 直接使用类 Validation
174
+ ### 方式2 : 直接使用类 ` Validation `
175
175
176
176
需要快速简便的使用验证时,可直接使用 ` Inhere\Validate\Validation `
177
177
@@ -202,7 +202,7 @@ class SomeController
202
202
```
203
203
204
204
<a name =" how-to-use3 " ></a >
205
- ### 方式 3: 创建一个新的class,使用 ValidationTrait
205
+ ### 方式3: 使用trait ` ValidationTrait `
206
206
207
207
创建一个新的class,并使用 Trait ` Inhere\Validate\ValidationTrait ` 。 此方式是高级自定义的使用方式, 可以方便的嵌入到其他类中
208
208
@@ -221,7 +221,7 @@ class DataModel
221
221
* @param array $data
222
222
* @return $this
223
223
*/
224
- public function setData( $data)
224
+ public function load(array $data)
225
225
{
226
226
$this->data = $data;
227
227
@@ -248,10 +248,10 @@ class UserModel extends DataModel
248
248
public function rules()
249
249
{
250
250
return [
251
- ['username, passwd', 'required', 'on' => 'create' ],
251
+ ['username, passwd', 'required'],
252
252
['passwd', 'compare', 'repasswd', 'on' => 'create']
253
253
['username', 'string', 'min' => 2, 'max' => 20, 'on' => 'create' ],
254
- ['id', 'number', 'on' => 'update' ],
254
+ ['id', 'number', 'on' => 'update' ], // 仅作用于场景 update
255
255
['createdAt, updatedAt', 'safe'],
256
256
];
257
257
}
@@ -265,28 +265,27 @@ class UserController
265
265
public function addAction()
266
266
{
267
267
$model = new UserModel;
268
- $model->setData($_POST)->atScene('create');
268
+ // 载入提交数据并设定场景为: create
269
+ $model->load($_POST)->atScene('create');
269
270
270
271
if (!$ret = $model->create()) {
271
272
exit($model->firstError());
272
273
}
273
274
274
275
echo "add success: userId = $ret";
275
276
}
276
-
277
277
}
278
278
```
279
279
280
280
## 添加自定义验证器
281
281
282
- - 在继承了 ` Inhere\Validate\Validation ` 的子类添加验证方法. 请看上面的 [ 使用方式1] ( #how-to-use1 )
282
+ - ** 方式1 ** 在继承了 ` Inhere\Validate\Validation ` 的子类添加验证方法. 请看上面的 [ 使用方式1] ( #how-to-use1 )
283
283
284
284
> 注意: 写在当前类里的验证器方法必须带有后缀 ` Validator ` , 以防止对内部的其他的方法造成干扰
285
285
286
- - 通过 ` Validation::addValidator() ` 添加自定义验证器. e.g:
286
+ - ** 方式2 ** 通过 ` Validation::addValidator() ` 添加自定义验证器. e.g:
287
287
288
288
``` php
289
-
290
289
$v = Validation::make($_POST,[
291
290
// add rule
292
291
['title', 'min', 40],
@@ -301,7 +300,7 @@ $v = Validation::make($_POST,[
301
300
->validate();
302
301
```
303
302
304
- - 直接写闭包进行验证 e.g:
303
+ - ** 方式3 ** 直接写闭包进行验证 e.g:
305
304
306
305
``` php
307
306
['status', function($status) {
@@ -343,7 +342,7 @@ $v = Validation::make($_POST,[
343
342
344
343
> 字段验证器 ` FieldValidation ` 的配置类似,只是 ** 只有一个字段,而验证器允许有多个**
345
344
346
- ## 规则关键词
345
+ ## 规则选项设置
347
346
348
347
除了可以添加字段的验证之外,还有一些特殊关键词可以设置使用,以适应各种需求。
349
348
@@ -396,7 +395,6 @@ $v = Validation::make($_POST,[
396
395
// ...
397
396
$valid = ValidationClass::make($_POST)->atScene('update')->validate();
398
397
// ...
399
-
400
398
```
401
399
402
400
### ` when ` -- 规则的前置条件
0 commit comments