Answers for "how to inject new data into laravel validation"

PHP
1

validation in laravel

enum
  'priority'      => ['required', 'in:normal,meduim,high'],	
integer
  'department_id' => 'required|integer',
string
  'email' => 'required|email|unique:users',
  'title'         => ['required', 'min:3'],
  'name' => 'required|max:120',
integer
	'phone' => 'required|regex:/(01)[0-9]{9}/'
  	'phone' => 'required|numeric|phone_number|size:11'
  	'PHONE' => 'required|regex:/(0)[0-9]/|not_regex:/[a-z]/|min:9',


From Laravel 5.5 on you can use an artisan command to create a new Rule which you can code regarding your requirements to decide whether it passes or fail.
Ej: php artisan make:rule PhoneNumber
Then edit app/Rules/PhoneNumber.php, on method passes
  /**
 * Determine if the validation rule passes.
 *
 * @param  string  $attribute
 * @param  mixed  $value
 * @return bool
 */
public function passes($attribute, $value)
{

    return preg_match('%^(?:(?:\(?(?:00|\+)([1-4]\d\d|[1-9]\d?)\)?)?[\-\.\ \\\/]?)?((?:\(?\d{1,}\)?[\-\.\ \\\/]?){0,})(?:[\-\.\ \\\/]?(?:#|ext\.?|extension|x)[\-\.\ \\\/]?(\d+))?$%i', $value) && strlen($value) >= 10;
}


use App\Rules\PhoneNumber;

$request->validate([
    'name' => ['required', new PhoneNumber],
]);
Posted by: Guest on October-12-2021
8

laravel validation types

# <values> = foo,bar,...
# <field> = array field
# <characters> = amount of characters

# accepted					           # active_url
# after:<tomorrow>			           # after_or_equal:<tomorrow>
# alpha						           # alpha_dash
# alpha_num					           # array
# bail 					               # before:<today>
# before_or_equal:<today>              # between:min,max
# boolean					           # confirmed
# date						           # date_equals:<today>
# date_format:<format> 		           # different:<name>
# digits:<value>			           # digits_between:min,max
# dimensions:<min/max_with>	           # distinct
# email						           # ends_with:<values>
# exclude_if:<field>,<value>           # exclude_unless:<field>,<value>
# exists:<table>,<column>	           # file
# filled					           # gt:<field>
# gte:<field>				           # image
# in:<values>				           # in_array:<field>
# integer					           # ip
# ipv4                                 # ipv6  
# json						           # lt:<field>
# lte:<field>       		           # max:<value>
# mimetypes:video/avi,...	           # mimes:jpeg,bmp,png
# min:<value>				           # not_in:<values>
# not_regex:<pattern> 		           # nullable
# numeric					           # password:<auth guard>
# present					           # regex:<pattern>
# required					           # required_if:<field>,<value>
# required_unless:<field>,<value>      # required_with:<fields>
# required_with_all:<fields>	       # required_without:<fields>
# required_without_all:<fields>        # same:<field>
# size:<characters>			           # starts_with:<values>
# string						       # timezone
# unique:<table>,<column>		       # url
# uuid
Posted by: Guest on May-06-2020

Code answers related to "how to inject new data into laravel validation"

Browse Popular Code Answers by Language