Skip to content

Commit

Permalink
提交
Browse files Browse the repository at this point in the history
  • Loading branch information
zhangjincheng committed May 20, 2019
1 parent 6b88453 commit 9fb9f17
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions src/Validate/Annotation/Validated.php
Original file line number Diff line number Diff line change
Expand Up @@ -353,18 +353,21 @@ public function build($name)
/**
* @param ReflectionClass|string $reflectionClass
* @param $values
* @param array $roles
* @param array $messages
* @param array $translates
* @param string $scene
* @throws DependencyException
* @throws ValidationException
* @throws \DI\NotFoundException
* @throws \ReflectionException
*/
public static function valid($reflectionClass, $values, $translates = [], $scene = "")
public static function valid($reflectionClass, $values, $roles = [], $messages = [], $translates = [], $scene = "")
{
$validRole = self::buildRole($reflectionClass);
$validRole = self::buildRole($reflectionClass, $roles);
if (!empty($validRole)) {
$validation = Validation::check($values, $validRole, $translates, $scene);
$validation->setMessages($messages);
if ($validation->failed()) {
throw new ValidationException($validation->firstError());
}
Expand All @@ -373,12 +376,13 @@ public static function valid($reflectionClass, $values, $translates = [], $scene

/**
* @param ReflectionClass|string $reflectionClass
* @param array $roles
* @return array
* @throws DependencyException
* @throws \DI\NotFoundException
* @throws \ReflectionException
*/
public static function buildRole($reflectionClass)
public static function buildRole($reflectionClass, $roles = [])
{
if (is_string($reflectionClass)) {
if (array_key_exists($reflectionClass, self::$cache)) {
Expand All @@ -399,6 +403,6 @@ public static function buildRole($reflectionClass)
}
}
self::$cache[$reflectionClass->name] = $validRole;
return $validRole;
return array_merge($validRole, $roles);
}
}

0 comments on commit 9fb9f17

Please sign in to comment.