hyperf 验证器,required_with
作者:互联网
在 Hyperf 框架中,required_with
是一个验证规则,用于验证字段在指定其他字段存在的情况下是否必填。它通常用于在某些条件成立的情况下,要求某个字段是必填的。
下面是一个使用 required_with
验证规则的示例:
use Hyperf\Validation\Rule;
$data = [
'name' => 'John',
'email' => 'john@example.com',
'phone' => '',
];
$rules = [
'name' => 'required',
'email' => [
'required',
Rule::requiredWith('phone'), // email 字段在 phone 字段存在时必填
],
];
$validator = ValidatorFactory::make($data, $rules);
if ($validator->fails()) {
$errors = $validator->errors();
// 处理验证失败的情况
} else {
// 验证通过,继续执行其他逻辑
}
PHP
在上面的示例中,我们定义了一个 $data
数组,其中包含了 name
、email
和 phone
三个字段的值。然后,我们定义了一个 $rules
数组,其中针对 email
字段使用了 required
和 requiredWith
验证规则。requiredWith
会在 phone
字段存在的情况下,要求 email
字段是必填的。
最后,我们使用 Hyperf 的验证工厂(ValidatorFactory
)来创建一个验证器对象,并传入要验证的数据和验证规则。通过调用 $validator->fails()
方法来判断验证是否失败,如果失败,则可以通过 $validator->errors()
方法获取验证错误信息。
需要注意的是,在使用 requiredWith
规则时,要确保已经使用了 required
规则,因为 requiredWith
本身只会在指定的字段存在时才进行验证。
标签: 来源: