[Compilation and Sharing] 40 Practical Laravel Form Validation Rules
Oct 04, 2022 am 07:00 AMLaravel’s validation system has more than 60 validation rules available, but what if you need other features? You can easily create your own validation rules, or you can use existing validation rules on the Internet. let's see.
22 Rules from Alphametric
First, we start with a series of articles from Matt Kingshott, a senior developer at Alphametric who writes at Medium Wrote many posts and added all the rules to the Github repository. The following is a list of available rules:
StrongPassword: Checks if it is a "strong" type password
TelephoneNumber: Checks if it is a valid phone number
RecordOwner: Requires the authenticated user ID to match the user_id column in the given database record , for example: Owner: Post, id
MonetaryFigure: Check the monetary figure, for example: $ 72.33
DisposableEmail: Checks whether the email address is a disposable email address
DoesNotExist: Checks whether the given value exists
Decimal in database table/column: Check whether it has the correct format of decimal
EncodedImage : Check whether the value is a base64 encoded image of the given mime type
LocationCoordinates: Check whether it is a set of longitude and latitude coordinates separated by commas
FileExists: Check if the value is an existing file path
Equals: Check Is the value equal to another value
MacAddress: Check if the value is a valid MAC address
ISBN: Checks if the value is a valid ISBN-10 or ISBN-13 number
EndsWith: Checks if the value ends with the given string
EvenNumber: Check whether the value is an even number (use intval for decimal type casting first)
OddNumber: Check whether the value is an odd number (use intval for decimal type conversion first)
Lowercase: Check whether the value is a lowercase string
Uppercase: Check whether the value is an uppercase string
Titlecase: Check whether the value is an uppercase string Title string
Domain: Check whether the value is a legal domain name google.com, www.google.com
##CitizenIdentification: Check whether the value is a legal US/French/UK citizen ID number
-
WithoutWhitespace: Check whether the value contains spaces Characters
8 Rules from Scott Robinson
Created by Scott Robinson Another good set of rules, he also created a dedicated website laravel-validation-rules.github.io for this purpose. It has the following rules:
Colour: The value is not a color, currently only hexadecimal codes are supported.
Country Codes: Validates 2&3 character country codes.
Credit Card: Verify whether the value is a legal credit card number and the validity period.
IP: Verifies whether the value IP address is public or private. Supports IPV4 and IPV6.
Phone: Verify whether the value meets the phone number format.
Subdomain: Verify whether the self-domain name value submitted by the user already exists in the current program.
Timezone: Verify that the time zone value is valid in the system time and date database.
-
US State: Verify whether the value is a US state/Canadian province.
Spatie’s 5 Rules
Spatie In your own repository provides some verification rules:
Authorized: Verify whether the user has the authority to perform functions on an instance of a model.
CountryCode: Verifies that the field is a valid ISO3166 country code.
Enum: Verify that the value is part of the given enumeration class, for example myclabs/php-enum.
ModelsExist: Verifies that all values ??in the input array exist as properties of the given model class.
-
Delimited: Verify whether there is a delimited value in the string, such as @ in 'sebastian@example.com, alex@example.com' Symbol
5 Rules of Pineco.de
Finally from Gerg? D. Nagy published an article in pineco at the end of 2017. Relevant validation rules are stored in GitHub repository. But it hasn’t been updated since then, so use with caution! The rules are as follows:
- password: Check the user's password.
- Odd: Check whether the value is odd.
- even: Check whether the value is even.
- incremented: Check whether the value is an auto-increment field.
- specific words: Check whether the value contains a specific word.
weekday: Check whether the date is a legal working day.
Original address: https://laraveldaily.com/40-additional-laravel-validation-rules/
Translation address: https://learnku .com/laravel/t/39365
[Related recommendations: laravel video tutorial]
The above is the detailed content of [Compilation and Sharing] 40 Practical Laravel Form Validation Rules. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

std::chrono is used in C to process time, including obtaining the current time, measuring execution time, operation time point and duration, and formatting analysis time. 1. Use std::chrono::system_clock::now() to obtain the current time, which can be converted into a readable string, but the system clock may not be monotonous; 2. Use std::chrono::steady_clock to measure the execution time to ensure monotony, and convert it into milliseconds, seconds and other units through duration_cast; 3. Time point (time_point) and duration (duration) can be interoperable, but attention should be paid to unit compatibility and clock epoch (epoch)

ToaccessenvironmentvariablesinPHP,usegetenv()orthe$_ENVsuperglobal.1.getenv('VAR_NAME')retrievesaspecificvariable.2.$_ENV['VAR_NAME']accessesvariablesifvariables_orderinphp.iniincludes"E".SetvariablesviaCLIwithVAR=valuephpscript.php,inApach

PHPhasthreecommentstyles://,#forsingle-lineand/.../formulti-line.Usecommentstoexplainwhycodeexists,notwhatitdoes.MarkTODO/FIXMEitemsanddisablecodetemporarilyduringdebugging.Avoidover-commentingsimplelogic.Writeconcise,grammaticallycorrectcommentsandu

LaravelSanctum is suitable for simple, lightweight API certifications such as SPA or mobile applications, while Passport is suitable for scenarios where full OAuth2 functionality is required. 1. Sanctum provides token-based authentication, suitable for first-party clients; 2. Passport supports complex processes such as authorization codes and client credentials, suitable for third-party developers to access; 3. Sanctum installation and configuration are simpler and maintenance costs are low; 4. Passport functions are comprehensive but configuration is complex, suitable for platforms that require fine permission control. When selecting, you should determine whether the OAuth2 feature is required based on the project requirements.

When using PHP preprocessing statements to execute queries with IN clauses, 1. Dynamically generate placeholders according to the length of the array; 2. When using PDO, you can directly pass in the array, and use array_values to ensure continuous indexes; 3. When using mysqli, you need to construct type strings and bind parameters, pay attention to the way of expanding the array and version compatibility; 4. Avoid splicing SQL, processing empty arrays, and ensuring data types match. The specific method is: first use implode and array_fill to generate placeholders, and then bind parameters according to the extended characteristics to safely execute IN queries.

In PHP, you can use a variety of methods to determine whether a string starts with a specific string: 1. Use strncmp() to compare the first n characters. If 0 is returned, the beginning matches and is not case sensitive; 2. Use strpos() to check whether the substring position is 0, which is case sensitive. Stripos() can be used instead to achieve case insensitive; 3. You can encapsulate the startsWith() or str_starts_with() function to improve reusability; in addition, it is necessary to note that empty strings return true by default, encoding compatibility and performance differences, strncmp() is usually more efficient.

There are three key ways to avoid the "undefinedindex" error: First, use isset() to check whether the array key exists and ensure that the value is not null, which is suitable for most common scenarios; second, use array_key_exists() to only determine whether the key exists, which is suitable for situations where the key does not exist and the value is null; finally, use the empty merge operator?? (PHP7) to concisely set the default value, which is recommended for modern PHP projects, and pay attention to the spelling of form field names, use extract() carefully, and check the array is not empty before traversing to further avoid risks.

The key steps to install PHP on Windows include: 1. Download the appropriate PHP version and decompress it. It is recommended to use ThreadSafe version with Apache or NonThreadSafe version with Nginx; 2. Configure the php.ini file and rename php.ini-development or php.ini-production to php.ini; 3. Add the PHP path to the system environment variable Path for command line use; 4. Test whether PHP is installed successfully, execute php-v through the command line and run the built-in server to test the parsing capabilities; 5. If you use Apache, you need to configure P in httpd.conf
