EnjoyValidator是一个简单而强大的PHP验证器,用于验证数据的有效性和一致性。它提供了一套丰富的验证规则和灵活的验证方式,并可以根据规则进行数据转换。
特点:
- 简单易用:使用简洁的语法和直观的方法调用进行数据验证。
- 灵活多样:支持多种验证规则,包括必填字段、相等比较、大小比较、数组验证、JSON验证等。
- 可扩展性:支持自定义规则和消息模板,可以根据具体项目的需求进行扩展和定制。
- 错误处理:提供详细的错误信息和异常处理机制,方便开发人员进行错误处理和调试。
- 创建
Validator对象
$data = [ 'name' => 'John Doe', 'email' => 'john@example.com', // 其他数据字段... ]; $validator = new \EnjoyValidator\Validator($data);
- 设置验证规则
可以通过rules()方法来设置验证规则,规则可以是一个关联数组,其中键表示要验证的字段,值表示该字段的验证规则。规则可以是字符串,多个规则可以用管道符(|)分隔,也可以是数组形式的规则。
$rules = [ 'name' => 'required', 'email' => 'required|email', 'phone_no' => ['length_min' => 10], 'default_field' => 'default:1', // 其他字段的验证规则... ]; $validator->rules($rules);
- 执行验证
可以通过调用handle()方法来执行验证,该方法会根据设置的验证规则对数据进行验证,并将验证结果保存在验证器对象中。
$validator->handle();
- 获取验证结果
可以通过以下方法获取验证结果:
errors():获取所有字段的错误信息,返回一个关联数组,键是字段名,值是一个包含错误消息的数组。firstError($field):获取指定字段的第一个错误消息,如果字段没有错误,则返回false。throwErr():设置验证器在出现错误时抛出异常。
$errors = $validator->errors(); $firstError = $validator->firstError('email'); if ($errors) { // 处理验证错误... }
- 自定义验证规则
可以使用registerRule()方法来注册自定义的验证规则。该方法接受三个参数:规则名称、验证规则的回调函数和一个可选的参数,指示该规则是否是必须验证的规则。
\EnjoyValidator\Validator::registerRule('custom_rule', function ($value, $field, $validator) { // 自定义验证逻辑... return true; // 验证通过 }); $validator->rules([ 'field' => 'custom_rule', ]);
- 其他功能
- 设置字段别名:可以使用
alias()方法来设置字段的别名,方便在错误消息中使用更友好的字段名。 - 设置自定义消息:可以使用
messages()方法来设置字段的自定义错误消息。 - 设置消息模板:可以使用
messageTpl()方法来设置验证规则的自定义错误消息模板。
以下是一个简单的使用示例:
use EnjoyValidator\Validator; // 要验证的数据 $data = [ 'username' => 'john_doe', 'email' => 'john@example.com', ]; // 设置验证规则 $rules = [ 'username' => 'required|max:20', 'email' => 'required|email', ]; // 创建验证器 $validator = Validator::make($data, $rules); // 执行验证 $validator->handle(); // 获取错误信息 $errors = $validator
完整示例代码见 /example/index.php