PHPValidator는 PHP 응용 프로그램에서 데이터 검증을위한 최신 PHP 라이브러리입니다. 사전 정의 된 규칙을 사용하여 데이터를 검증하거나 사용자 정의 검증 규칙을 작성하여 유연하고 확장 가능한 방법을 제공합니다.
작곡가를 사용하여 phpvalidator를 설치하십시오.
composer require blakvghost/php-validator use BlakvGhost PHPValidator Validator ;
use BlakvGhost PHPValidator ValidatorException ;
try {
$ data = [
' username ' => ' BlakvGhost ' ,
' email ' => ' [email protected] ' ,
' score ' => 42 ,
];
// or
// $data = $_POST;
$ validator = new Validator ( $ data , [
' username ' => ' required|string ' ,
' email ' => ' required|email ' ,
' score ' => [ ' required ' , ' max:200 ' , new CustomRule ()],
' password ' => new CustomRule (),
]);
if ( $ validator -> isValid ()) {
echo " Validation passed! " ;
} else {
$ errors = $ validator -> getErrors ();
print_r ( $ errors );
}
} catch ( ValidatorException $ e ) {
echo " Validation error: " . $ e -> getMessage ();
} 유효성 검사 오류 메시지를 사용자 정의하거나 specify the default language 수도 있습니다.
$ data = [
' username ' => ' BlakvGhost ' ,
];
$ validator = new Validator (
$ data ,
[
' username ' => ' required|string ' ,
],
[
' username ' => [
' required ' => ' Votre nom d ' utilisateur doit être présent ' ,
' string ' => ' Votre nom d ' utilisateur doit forcément être une chaîne de caractère ' ,
],
]
);
// For the default language
$ validator = new Validator ( $ data , $ rules , lang: ' fr ' ); Predefined Rules : phpvalidator는 필요한, 문자열, 이메일, maxlength 등과 같은 사전 정의 된 유효성 검사 규칙 세트와 함께 제공됩니다.
Custom Rules : Rule 인터페이스를 구현하여 사용자 정의 유효성 검사 규칙을 쉽게 만들 수 있습니다.
Multilingual Support : LangManager 사용하여 응용 프로그램의 언어를 기반으로 유효성 검사 오류 메시지를 사용자 정의하십시오.
phpvalidator는 데이터 유효성 검사에 사용할 수있는 다양한 사전 정의 규칙을 제공합니다. 다음은 일반적으로 사용되는 규칙의 목록과 함께 사용법의 예입니다.
필요한 규칙
' username ' => ' required '문자열 규칙
' username ' => ' string '이메일 규칙
' email ' => ' email '최대 길이 규칙
' username ' => ' max:25 '확인 된 규칙
' password_confirmation ' => ' confirmed:password '파일 규칙
' file ' => ' file '받아 들여진 규칙
"yes" , "on" , "1" 또는 true 인지 확인합니다. 확인란에 유용합니다. ' terms_and_conditions ' => ' accepted '규칙이 허용됩니다
' terms_and_conditions ' => ' accepted_if:is_adult,true '활성화 규칙
' website ' => ' active_url '알파 규칙
' name ' => ' alpha '숫자 규칙
' age ' => ' numeric '소문자 규칙
' username ' => ' lowercase '대문자 규칙
' username ' => ' uppercase '규칙적으로
' role ' => ' in:admin,editor,viewer '무효 규칙
null 거나 비어질 수 있습니다. ' optional_field ' => ' nullable '비밀번호 규칙
secure password 확인합니다. ' password ' => ' password '같은 규칙
' password_confirmation ' => ' same:password '최대 길이 규칙
' username ' => ' min:8 '규칙이 아닙니다
' value ' => ' not_in:foo,bar '규칙으로 필요합니다
' firstname ' => ' required_with:lastname ' ,유효한 IP 규칙
' client_ip ' => ' ip ' ,JSON 규칙
' config ' => ' json ' ,URL 규칙
' website ' => ' url ' ,알파 숫자 규칙
' pseudo ' => ' alpha_num ' ,부울 규칙
' is_admin ' => ' bool ' ,크기 규칙
[
' string ' => ' size:7 ' , // strlen(string) == 7
' integer ' => ' size:7 ' , // integer == 7
' array ' => ' size:7 ' , // count(array) == 7
' file ' => ' size:512 ' , // file size (kb) == 512
]규칙에 필요하지 않습니다
' email ' => ' not_required_with:phone_number ' , 사전 정의 된 규칙 외에도 Rule 인터페이스를 구현하여 사용자 정의 유효성 검사 규칙을 만들 수 있습니다. 다음은 사용자 정의 규칙을 작성하고 사용하는 방법의 예입니다.
// CustomPasswordRule.php
namespace YourNameSpace Rules ;
use BlakvGhost PHPValidator Contracts Rule ;
class CustomPasswordRule implements Rule
{
protected $ field ;
public function __construct ( protected array $ parameters = [])
{
}
public function passes ( string $ field , $ value , array $ data ): bool
{
$ this -> field = $ field ;
// Implement your custom validation logic here
// Example: Check if the password is equal to confirm_password
return $ value === $ data [ ' confirm_password ' ];
}
public function message (): string
{
return " Vos deux mot de passes ne sont pas identiques " ;
}
}사용자 정의 클래스를 직접 사용하십시오
use BlakvGhost PHPValidator Validator ;
use BlakvGhost PHPValidator ValidatorException ;
use YourNameSpace CustomPasswordRule ;
// ...
try {
$ data = [
' password ' => ' 42 ' ,
' confirm_password ' => ' 142 ' ,
];
// or
// $data = $_POST;
$ validator = new Validator ( $ data , [
' password ' => [ ' required ' , new CustomPasswordRule ()],
]);
if ( $ validator -> isValid ()) {
echo " Validation passed! " ;
} else {
$ errors = $ validator -> getErrors ();
print_r ( $ errors );
}
} catch ( ValidatorException $ e ) {
echo " Validation error: " . $ e -> getMessage ();
}규칙 목록에 사용자 정의 클래스를 추가하고 마치 기본 인 것처럼 사용하십시오.
use BlakvGhost PHPValidator Validator ;
use BlakvGhost PHPValidator ValidatorException ;
use BlakvGhost PHPValidator Mapping RulesMaped ;
use YourNameSpace CustomPasswordRule ;
// Add your rule here using an alias and the full namespace of your custom class
RulesMaped:: addRule ( ' c_password ' , CustomPasswordRule::class);
try {
$ data = [
' password ' => ' 42 ' ,
' confirm_password ' => ' 142 ' ,
];
$ validator = new Validator ( $ data , [
' password ' => ' required|c_password ' ,
]);
if ( $ validator -> isValid ()) {
echo " Validation passed! " ;
} else {
$ errors = $ validator -> getErrors ();
print_r ( $ errors );
}
} catch ( ValidatorException $ e ) {
echo " Validation error: " . $ e -> getMessage ();
}이 예에서는 비밀번호가 quich_password와 동일한 지 확인하는 CustomPasswordRule을 만들었습니다. 패스 방법을 사용자 정의하여 특정 유효성 검사 로직을 구현할 수 있습니다.
phpvalidator에 기여하려면 기여 지침을 따르십시오.
지원을 위해 [email protected]으로 이메일로 연락 할 수 있습니다. 궁금한 점이 있거나 phpvalidator에 도움이 필요한 경우 저에게 연락하십시오.
Phpvalidator는 MIT 라이센스에 따라 오픈 소스 소프트웨어입니다.