blob: 104675a4dc2faa4269b8f148b7712b6d0d888ae9 [file] [log] [blame]
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +02001<?php
2
3namespace Illuminate\Contracts\Validation;
4
5interface Factory
6{
7 /**
8 * Create a new Validator instance.
9 *
10 * @param array $data
11 * @param array $rules
12 * @param array $messages
13 * @param array $customAttributes
14 * @return \Illuminate\Contracts\Validation\Validator
15 */
16 public function make(array $data, array $rules, array $messages = [], array $customAttributes = []);
17
18 /**
19 * Register a custom validator extension.
20 *
21 * @param string $rule
22 * @param \Closure|string $extension
23 * @param string|null $message
24 * @return void
25 */
26 public function extend($rule, $extension, $message = null);
27
28 /**
29 * Register a custom implicit validator extension.
30 *
31 * @param string $rule
32 * @param \Closure|string $extension
33 * @param string|null $message
34 * @return void
35 */
36 public function extendImplicit($rule, $extension, $message = null);
37
38 /**
39 * Register a custom implicit validator message replacer.
40 *
41 * @param string $rule
42 * @param \Closure|string $replacer
43 * @return void
44 */
45 public function replacer($rule, $replacer);
46}