Skip to content

Commit aa05c0d

Browse files
committed
update readme. modify: Validators in the class must have a suffix 'Validator'
1 parent aab2457 commit aa05c0d

File tree

3 files changed

+17
-12
lines changed

3 files changed

+17
-12
lines changed

README.md

+7-2
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ git clone https://gitee.com/inhere/php-validate.git // git@osc
6262

6363
## 使用
6464

65-
<a name="how-to-use"></a>
65+
<a name="how-to-use1"></a>
6666
### 方式 1: 创建一个新的class,并继承Validation
6767

6868
创建一个新的class,并继承 `Inhere\Validate\Validation`。用于一个(或一系列相关)请求的验证, 相当于 laravel 的 表单请求验证
@@ -145,6 +145,7 @@ $safeData = $v->getSafeData(); // 验证通过的安全数据
145145
$db->save($safeData);
146146
```
147147

148+
<a name="how-to-use2"></a>
148149
### 方式 2: 直接使用类 Validation
149150

150151
需要快速简便的使用验证时,可直接使用 `Inhere\Validate\Validation`
@@ -175,6 +176,7 @@ class SomeController
175176
}
176177
```
177178

179+
<a name="how-to-use3"></a>
178180
### 方式 3: 创建一个新的class,使用 ValidationTrait
179181

180182
创建一个新的class,并使用 Trait `Inhere\Validate\ValidationTrait`。 此方式是高级自定义的使用方式, 可以方便的嵌入到其他类中
@@ -252,7 +254,10 @@ class UserController
252254

253255
## 添加自定义验证器
254256

255-
- 在继承了 `Inhere\Validate\Validation` 的子类添加验证方法. 请看上面的 **使用方式1**
257+
- 在继承了 `Inhere\Validate\Validation` 的子类添加验证方法. 请看上面的 [使用方式1](#how-to-use1)
258+
259+
> 注意: 写在当前类里的过滤器方法必须带有后缀 `Validator`, 以防止对内部的其他的方法造成干扰
260+
256261
- 通过 `Validation::addValidator()` 添加自定义验证器. e.g:
257262

258263
```php

src/Utils/UserAndContextValidatorsTrait.php

+8-8
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ public function requiredWithoutAll($field, $fields)
276276
* @param string|array $suffixes e.g ['jpg', 'jpeg', 'png', 'gif', 'bmp']
277277
* @return bool
278278
*/
279-
public function file($field, $suffixes = null)
279+
public function fileValidator($field, $suffixes = null)
280280
{
281281
if (!$file = $this->uploadedFiles[$field] ?? null) {
282282
return false;
@@ -308,7 +308,7 @@ public function file($field, $suffixes = null)
308308
* @param string|array $suffixes e.g ['jpg', 'jpeg', 'png', 'gif', 'bmp']
309309
* @return bool
310310
*/
311-
public function image($field, $suffixes = null)
311+
public function imageValidator($field, $suffixes = null)
312312
{
313313
if (!$file = $this->uploadedFiles[$field] ?? null) {
314314
return false;
@@ -355,7 +355,7 @@ public function image($field, $suffixes = null)
355355
* @param string|array $types
356356
* @return bool
357357
*/
358-
public function mimeTypes($field, $types)
358+
public function mimeTypesValidator($field, $types)
359359
{
360360
if (!$file = $this->uploadedFiles[$field] ?? null) {
361361
return false;
@@ -382,7 +382,7 @@ public function mimeTypes($field, $types)
382382
* @param string|array $types
383383
* return bool
384384
*/
385-
public function mimes($field, $types = null)
385+
public function mimesValidator($field, $types = null)
386386
{
387387
}
388388

@@ -396,17 +396,17 @@ public function mimes($field, $types = null)
396396
* @param string $compareField
397397
* @return bool
398398
*/
399-
public function compare($val, $compareField)
399+
public function compareValidator($val, $compareField)
400400
{
401401
return $compareField && ($val === $this->get($compareField));
402402
}
403403

404-
public function same($val, $compareField)
404+
public function sameValidator($val, $compareField)
405405
{
406406
return $this->compare($val, $compareField);
407407
}
408408

409-
public function equal($val, $compareField)
409+
public function equalValidator($val, $compareField)
410410
{
411411
return $this->compare($val, $compareField);
412412
}
@@ -417,7 +417,7 @@ public function equal($val, $compareField)
417417
* @param string $compareField
418418
* @return bool
419419
*/
420-
public function notEqual($val, $compareField)
420+
public function notEqualValidator($val, $compareField)
421421
{
422422
return $compareField && ($val !== $this->get($compareField));
423423
}

src/ValidationTrait.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -323,8 +323,8 @@ protected function valueValidate($data, $field, $value, $validator, $args)
323323
$passed = $callback($value, ...$args);
324324

325325
// if $validator is a custom method of the subclass.
326-
} elseif (method_exists($this, $validator)) {
327-
$passed = $this->$validator($value, ...$args);
326+
} elseif (method_exists($this, $method = $validator . 'Validator')) {
327+
$passed = $this->$method($value, ...$args);
328328

329329
// $validator is a method of the class 'ValidatorList'
330330
} elseif (method_exists(ValidatorList::class, $validator)) {

0 commit comments

Comments
 (0)