hightekjonathan
hightekjonathan

Reputation: 581

List of Laravel validation rules

Is there a master list of all available rules for Laravel request validation? I have only seen the ones shown in the docs, but there must be more than just 4-5 rules. I know I can make custom ones, which I am currently, but I would like to know all of the available ones.

Upvotes: 13

Views: 46879

Answers (4)

nsbucky
nsbucky

Reputation: 328

I don't know if anyone else will find this useful, but you can use reflection to figure out the validators:

$validatorClass = new ReflectionClass(Illuminate\Validation\Concerns\ValidatesAttributes::class);

collect($validatorClass->getMethods(ReflectionMethod::IS_PUBLIC))
  ->filter(function($method){
    return Illuminate\Support\Str::startsWith($method->name,'validate');
  })
  ->map(function($method){
    return str_replace('validate_', '', Illuminate\Support\Str::snake($method->name));
  })
  ->dd();

array:68 [
  0 => "accepted"
  1 => "active_url"
  2 => "bail"
  3 => "before"
  4 => "before_or_equal"
  5 => "after"
  6 => "after_or_equal"
  7 => "alpha"
  8 => "alpha_dash"
  9 => "alpha_num"
  10 => "array"
  11 => "between"
  12 => "boolean"
  13 => "confirmed"
  14 => "date"
  15 => "date_format"
  16 => "date_equals"
  17 => "different"
  18 => "digits"
  19 => "digits_between"
  20 => "dimensions"
  21 => "distinct"
  22 => "email"
  23 => "exists"
  24 => "unique"
  28 => "file"
  29 => "filled"
  30 => "gt"
  31 => "lt"
  32 => "gte"
  33 => "lte"
  34 => "image"
  35 => "in"
  36 => "in_array"
  37 => "integer"
  38 => "ip"
  39 => "ipv4"
  40 => "ipv6"
  41 => "json"
  42 => "max"
  43 => "mimes"
  44 => "mimetypes"
  45 => "min"
  46 => "nullable"
  47 => "not_in"
  48 => "numeric"
  49 => "present"
  50 => "regex"
  51 => "not_regex"
  52 => "required"
  53 => "required_if"
  54 => "exclude_if"
  55 => "exclude_unless"
  56 => "exclude_without"
  57 => "required_unless"
  58 => "required_with"
  59 => "required_with_all"
  60 => "required_without"
  61 => "required_without_all"
  62 => "same"
  63 => "size"
  64 => "sometimes"
  65 => "starts_with"
  66 => "ends_with"
  67 => "string"
  68 => "timezone"
  69 => "url"
  70 => "uuid"
]

Upvotes: 2

user8865860
user8865860

Reputation: 61

Laravel documentation enlists all the validators

https://laravel.com/docs/5.5/validation

Upvotes: 0

N Mahurin
N Mahurin

Reputation: 1446

If you check the Illuminate\Validation\Validator class it has quite a few arrays toward the top with different built in validation rules.

Upvotes: 3

Related Questions