validation

2025-12-07 0 341

RAKIT validation -PHP独立validation库

PHP独立库,用于验证数据。受Illuminate\\ validation的启发。

特征

  • API喜欢Laravel validation 。
  • 数组validation 。
  • $_FILES validation具有多个文件支持。
  • 自定义属性别名。
  • 自定义validation消息。
  • 自定义规则。

要求

  • PHP 7.0或更高
  • 安装作曲家

快速开始

安装

 composer require \"rakit/ validation \"

用法

使用此库验证数据有两种方法。使用make制作validation对象,然后使用validate对其进行验证。或者只是使用validate示例

使用make

validation\\Validator;

$validator = new Validator;

// make it
$ validation = $validator->make($_POST + $_FILES, [
\’name\’ => \’required\’,
\’email\’ => \’required|email\’,
\’password\’ => \’required|min:6\’,
\’confirm_password\’ => \’required|same:password\’,
\’avatar\’ => \’required|uploaded_file:0,500K,png,jpeg\’,
\’skills\’ => \’array\’,
\’skills.*.id\’ => \’required|numeric\’,
\’skills.*.percentage\’ => \’required|numeric\’
]);

// then validate
$ validation ->validate();

if ($ validation ->fails()) {
// handling errors
$errors = $ validation ->errors();
echo \”<pre>\”;
print_r($errors->firstOfAll());
echo \”</pre>\”;
exit;
} else {
// validation passes
echo \”Success!\”;
}
\”>

 <?php

require ( \' vendor/autoload.php \' );

use Rakit \\ validation \\ Validator ;

$ validator = new Validator ;

// make it
$ validation = $ validator -> make ( $ _POST + $ _FILES , [
    \' name \'                  => \' required \' ,
    \' email \'                 => \' required|email \' ,
    \' password \'              => \' required|min:6 \' ,
    \' confirm_password \'      => \' required|same:password \' ,
    \' avatar \'                => \' required|uploaded_file:0,500K,png,jpeg \' ,
    \' skills \'                => \' array \' ,
    \' skills.*.id \'           => \' required|numeric \' ,
    \' skills.*.percentage \'   => \' required|numeric \'
]);

// then validate
$ validation -> validate ();

if ( $ validation -> fails ()) {
    // handling errors
    $ errors = $ validation -> errors ();
    echo \" <pre> \" ;
    print_r ( $ errors -> firstOfAll ());
    echo \" </pre> \" ;
    exit ;
} else {
    // validation passes
    echo \" Success! \" ;
}

或只是validate它:

validation\\Validator;

$validator = new Validator;

$ validation = $validator->validate($_POST + $_FILES, [
\’name\’ => \’required\’,
\’email\’ => \’required|email\’,
\’password\’ => \’required|min:6\’,
\’confirm_password\’ => \’required|same:password\’,
\’avatar\’ => \’required|uploaded_file:0,500K,png,jpeg\’,
\’skills\’ => \’array\’,
\’skills.*.id\’ => \’required|numeric\’,
\’skills.*.percentage\’ => \’required|numeric\’
]);

if ($ validation ->fails()) {
// handling errors
$errors = $ validation ->errors();
echo \”<pre>\”;
print_r($errors->firstOfAll());
echo \”</pre>\”;
exit;
} else {
// validation passes
echo \”Success!\”;
}
\”>

 <?php

require ( \' vendor/autoload.php \' );

use Rakit \\ validation \\ Validator ;

$ validator = new Validator ;

$ validation = $ validator -> validate ( $ _POST + $ _FILES , [
    \' name \'                  => \' required \' ,
    \' email \'                 => \' required|email \' ,
    \' password \'              => \' required|min:6 \' ,
    \' confirm_password \'      => \' required|same:password \' ,
    \' avatar \'                => \' required|uploaded_file:0,500K,png,jpeg \' ,
    \' skills \'                => \' array \' ,
    \' skills.*.id \'           => \' required|numeric \' ,
    \' skills.*.percentage \'   => \' required|numeric \'
]);

if ( $ validation -> fails ()) {
	// handling errors
	$ errors = $ validation -> errors ();
	echo \" <pre> \" ;
	print_r ( $ errors -> firstOfAll ());
	echo \" </pre> \" ;
	exit ;
} else {
	// validation passes
	echo \" Success! \" ;
}

在这种情况下,上面的两个示例将输出相同的结果。

但是使用make您可以在validation运行之前设置诸如自定义无效消息,自定义属性别名等之类的东西。

属性别名

默认情况下,我们将使您的属性转换为更可读的文本。例如,将显示为confirm_password Confirm password 。但是,您可以使用setAliassetAliases方法将其设置为任何想要的东西。

例子:

validation->make([
\’province_id\’ => $_POST[\’province_id\’],
\’district_id\’ => $_POST[\’district_id\’]
], [
\’province_id\’ => \’required|numeric\’,
\’district_id\’ => \’required|numeric\’
]);

// now you can set aliases using this way:
$ validation ->setAlias(\’province_id\’, \’Province\’);
$ validation ->setAlias(\’district_id\’, \’District\’);

// or this way:
$ validation ->setAliases([
\’province_id\’ => \’Province\’,
\’district_id\’ => \’District\’
]);

// then validate it
$ validation ->validate();
\”>

 $ validator = new Validator ;

// To set attribute alias, you should use `make` instead `validate`.
$ validation -> make ([
	\' province_id \' => $ _POST [ \' province_id \' ],
	\' district_id \' => $ _POST [ \' district_id \' ]
], [
	\' province_id \' => \' required|numeric \' ,
	\' district_id \' => \' required|numeric \'
]);

// now you can set aliases using this way:
$ validation -> setAlias ( \' province_id \' , \' Province \' );
$ validation -> setAlias ( \' district_id \' , \' District \' );

// or this way:
$ validation -> setAliases ([
	\' province_id \' => \' Province \' ,
	\' district_id \' => \' District \'
]);

// then validate it
$ validation -> validate ();

现在,如果province_id值为空,则错误消息将为“需要省”。

自定义validation消息

在注册/设置自定义消息之前,以下是您可以在自定义消息中使用的一些变量:

  • :attribute :将替换为属性别名。
  • :value :将替换为属性的弦乐值。对于数组和对象,将替换为JSON。

而且还有几个消息变量取决于其规则。

以下是注册/设置您的自定义消息的一些方法:

验证器的自定义消息

通过这种方式,每当您使用makevalidate进行validation时,都会为其设置自定义消息。它对于本地化很有用。

为此,您可以将自定义消息设置为第一个参数构造函数:

validation belows will use those custom messages
$ validation _a = $validator->validate($dataset_a, $rules_for_a);
$ validation _b = $validator->validate($dataset_b, $rules_for_b);
\”>

 $ validator = new Validator ([
	\' required \' => \' :attribute harus diisi \' ,
	\' email \' => \' :email tidak valid \' ,
	// etc
]);

// then validation belows will use those custom messages
$ validation _a = $ validator -> validate ( $ dataset_a , $ rules_for_a );
$ validation _b = $ validator -> validate ( $ dataset_b , $ rules_for_b );

或使用这样的setMessages方法:

validation belows will use those custom messages
$ validation _a = $validator->validate($dataset_a, $rules_for_dataset_a);
$ validation _b = $validator->validate($dataset_b, $rules_for_dataset_b);
\”>

 $ validator = new Validator ;
$ validator -> setMessages ([
	\' required \' => \' :attribute harus diisi \' ,
	\' email \' => \' :email tidak valid \' ,
	// etc
]);

// now validation belows will use those custom messages
$ validation _a = $ validator -> validate ( $ dataset_a , $ rules_for_dataset_a );
$ validation _b = $ validator -> validate ( $ dataset_b , $ rules_for_dataset_b );

自定义消息validation

有时,您可能需要设置自定义消息以进行特定validation 。为此,您可以将自定义消息设置为$validator->make$validator->validate的第三参数:

validation_a = $validator->validate($dataset_a, $rules_for_dataset_a, [
\’required\’ => \’:attribute harus diisi\’,
\’email\’ => \’:email tidak valid\’,
// etc
]);
\”>

 $ validator = new Validator ;

$ validation _a = $ validator -> validate ( $ dataset_a , $ rules_for_dataset_a , [
	\' required \' => \' :attribute harus diisi \' ,
	\' email \' => \' :email tidak valid \' ,
	// etc
]);

或者,您可以使用$ validation ->setMessages这样:

validation_a = $validator->make($dataset_a, $rules_for_dataset_a);
$ validation _a->setMessages([
\’required\’ => \’:attribute harus diisi\’,
\’email\’ => \’:email tidak valid\’,
// etc
]);

$ validation _a->validate();\”>

 $ validator = new Validator ;

$ validation _a = $ validator -> make ( $ dataset_a , $ rules_for_dataset_a );
$ validation _a -> setMessages ([
	\' required \' => \' :attribute harus diisi \' ,
	\' email \' => \' :email tidak valid \' ,
	// etc
]);

. . .

$ validation _a -> validate ();

特定属性规则的自定义消息

有时,您可能需要为特定规则属性设置自定义消息。为此,您可以使用:作为消息分离器或使用链接方法。

示例:

validation_a = $validator->make($dataset_a, [
\’age\’ => \’required|min:18\’
]);

$ validation _a->setMessages([
\’age:min\’ => \’18+ only\’,
]);

$ validation _a->validate();\”>

 $ validator = new Validator ;

$ validation _a = $ validator -> make ( $ dataset_a , [
	\' age \' => \' required|min:18 \'
]);

$ validation _a -> setMessages ([
	\' age:min \' => \' 18+ only \' ,
]);

$ validation _a -> validate ();

或使用链接方法:

validation_a = $validator->make($dataset_a, [
\’photo\’ => [
\’required\’,
$validator(\’uploaded_file\’)->fileTypes(\’jpeg|png\’)->message(\’Photo must be jpeg/png image\’)
]
]);

$ validation _a->validate();\”>

 $ validator = new Validator ;

$ validation _a = $ validator -> make ( $ dataset_a , [
	\' photo \' => [
		\' required \' ,
		$ validator ( \' uploaded_file \' )-> fileTypes ( \' jpeg|png \' )-> message ( \' Photo must be jpeg/png image \' )
	]
]);

$ validation _a -> validate ();

翻译

自定义消息的翻译不同。当您使用自定义消息进行innot_inmimesuploaded_file时,可能需要翻译。

例如,如果您使用in:1,2,3我们将设置无效消息,例如“属性仅允许\’1\’,\’2\’或\’3\’” where part\’1\’1\’,\’2\’或\’3\’“”来自“:wasse_values”标签。因此,如果您有自定义的印尼消息“:属性Hanya Memperbolehkan:washe_values”,我们将设置无效的消息,例如“属性Hanya Memperbolehkan\’1\’,\’2\’,\’2\’或\’3\’,这是“或“ Word”不是印尼语语言的一部分。

因此,要解决这个问题,我们可以使用这样的翻译:

validation = $validator->validate($inputs, [
\’nomor\’ => \’in:1,2,3\’
]);

$message = $ validation ->errors()->first(\’nomor\’); // \”Nomor hanya memperbolehkan \’1\’, \’2\’, atau \’3\’\”\”>

 // Set translation for words \'and\' and \'or\'.
$ validator -> setTranslations ([
    \' and \' => \' dan \' ,
    \' or \' => \' atau \'
]);

// Set custom message for \'in\' rule
$ validator -> setMessage ( \' in \' , \" :attribute hanya memperbolehkan :allowed_values \" );

// Validate
$ validation = $ validator -> validate ( $ inputs , [
    \' nomor \' => \' in:1,2,3 \'
]);

$ message = $ validation -> errors ()-> first ( \' nomor \' ); // \"Nomor hanya memperbolehkan \'1\', \'2\', atau \'3\'\"

实际上,我们的内置规则仅使用单词“和“和”或“您可能需要翻译”。

处理错误消息

错误消息收集在Rakit\\ validation \\ErrorBag对象中,您可以使用errors()方法将其获取。

validation = $validator->validate($inputs, $rules);

$errors = $ validation ->errors(); // << ErrorBag\”>

 $ validation = $ validator -> validate ( $ inputs , $ rules );

$ errors = $ validation -> errors (); // << ErrorBag

现在,您可以使用下面的方法检索错误消息:

all(string $format = \':message\')

获取所有消息作为平坦的数组。

示例:

 $ messages = $ errors -> all ();
// [
//     \'Email is not valid email\',
//     \'Password minimum 6 character\',
//     \'Password must contains capital letters\'
// ]

$ messages = $ errors -> all ( \' <li>:message</li> \' );
// [
//     \'<li>Email is not valid email</li>\',
//     \'<li>Password minimum 6 character</li>\',
//     \'<li>Password must contains capital letters</li>\'
// ] 

firstOfAll(string $format = \':message\', bool $dotNotation = false)

从所有现有密钥中获取第一条消息。

示例:

 $ messages = $ errors -> firstOfAll ();
// [
//     \'email\' => Email is not valid email\',
//     \'password\' => \'Password minimum 6 character\',
// ]

$ messages = $ errors -> firstOfAll ( \' <li>:message</li> \' );
// [
//     \'email\' => \'<li>Email is not valid email</li>\',
//     \'password\' => \'<li>Password minimum 6 character</li>\',
// ]

参数$dotNotation用于数组validation 。如果是false ,它将返回原始数组结构,如果它是true它将返回带有DOT符号键的Flatten数组。

例如:

 $ messages = $ errors -> firstOfAll ( \' :message \' , false );
// [
//     \'contacts\' => [
//          1 => [
//              \'email\' => \'Email is not valid email\',
//              \'phone\' => \'Phone is not valid phone number\'
//          ],
//     ],
// ]

$ messages = $ errors -> firstOfAll ( \' :message \' , true );
// [
//     \'contacts.1.email\' => \'Email is not valid email\',
//     \'contacts.1.phone\' => \'Email is not valid phone number\',
// ] 

first(string $key)

从给定密钥中获取第一条消息。如果键有任何错误消息,它将返回null ,或者如果键没有错误,则将返回string

例如:

 if ( $ emailError = $ errors -> first ( \' email \' )) {
    echo $ emailError ;
}

toArray()

获取按密钥分组的所有消息。

例如:

 $ messages = $ errors -> toArray ();
// [
//     \'email\' => [
//         \'Email is not valid email\'
//     ],
//     \'password\' => [
//         \'Password minimum 6 character\',
//         \'Password must contains capital letters\'
//     ]
// ] 

count()

获取计数消息。

has(string $key)

检查给定的键是否有错误。如果键有错误,则它将返回bool

得到验证,有效和无效数据

例如,您有这样的validation :

validation = $validator->validate([
\’title\’ => \’Lorem Ipsum\’,
\’body\’ => \’Lorem ipsum dolor sit amet …\’,
\’published\’ => null,
\’something\’ => \’-invalid-\’
], [
\’title\’ => \’required\’,
\’body\’ => \’required\’,
\’published\’ => \’default:1|required|in:0,1\’,
\’something\’ => \’required|numeric\’
]);\”>

 $ validation = $ validator -> validate ([
    \' title \' => \' Lorem Ipsum \' ,
    \' body \' => \' Lorem ipsum dolor sit amet ... \' ,
    \' published \' => null ,
    \' something \' => \' -invalid- \'
], [
    \' title \' => \' required \' ,
    \' body \' => \' required \' ,
    \' published \' => \' default:1|required|in:0,1 \' ,
    \' something \' => \' required|numeric \'
]);

您可以使用下面的示例中的方法获取经过验证的数据,有效数据或无效数据:

validation->getValidatedData();
// [
// \’title\’ => \’Lorem Ipsum\’,
// \’body\’ => \’Lorem ipsum dolor sit amet …\’,
// \’published\’ => \’1\’ // notice this
// \’something\’ => \’-invalid-\’
// ]

$validData = $ validation ->getValidData();
// [
// \’title\’ => \’Lorem Ipsum\’,
// \’body\’ => \’Lorem ipsum dolor sit amet …\’,
// \’published\’ => \’1\’
// ]

$invalidData = $ validation ->getInvalidData();
// [
// \’something\’ => \’-invalid-\’
// ]\”>

 $ validatedData = $ validation -> getValidatedData ();
// [
//     \'title\' => \'Lorem Ipsum\',
//     \'body\' => \'Lorem ipsum dolor sit amet ...\',
//     \'published\' => \'1\' // notice this
//     \'something\' => \'-invalid-\'
// ]

$ validData = $ validation -> getValidData ();
// [
//     \'title\' => \'Lorem Ipsum\',
//     \'body\' => \'Lorem ipsum dolor sit amet ...\',
//     \'published\' => \'1\'
// ]

$ invalidData = $ validation -> getInvalidData ();
// [
//     \'something\' => \'-invalid-\'
// ] 

可用规则

单击以显示详细信息。

必需的

此validation下的字段必须存在,而不是“空”。

这里有一些例子:

价值 有效的
\'something\' 真的
\'0\' 真的
0 真的
[0] 真的
[null] 真的
无效的 错误的
[] 错误的
\’\’ 错误的

对于上传文件, $_FILES[\'key\'][\'error\']不得UPLOAD_ERR_NO_FILE

必需_if :另一_FIELD,value_1,value_2,…

如果另一个字段等于任何值,则必须存在此规则下的字段,而不是空的。

例如,如果something1\'1\'\'yes\'\'on\'的值之一,则需要required_if:something,1,yes,on

必需_unles :entere_field,value_1,value_2,…

除非另一个字段等于任何值,否则必须存在validation的字段,而不是空的。

必需_with :field_1,field_2,…

validation中的字段必须存在,并且仅在存在任何其他指定字段时才为空。

必需_WITHOUT :field_1,field_2,…

validation中的字段必须存在,并且仅在不存在其他指定字段时才空为空。

必需_WITH_ALL :field_1,field_2,…

仅在存在所有其他指定字段时,必须存在validation的字段,并且不仅为空。

必需_without_all :field_1,field_2,…

validation中的字段必须存在,并且仅在不存在所有其他指定字段时才空为空。

uploaded_file :min_size,max_size,extension_a,extension_b,…

此规则将从$_FILES验证数据。此规则下的字段必须以下规则以下规则有效:

  • $_FILES[\'key\'][\'error\']必须是UPLOAD_ERR_OKUPLOAD_ERR_NO_FILE 。对于UPLOAD_ERR_NO_FILE您可以使用required规则进行验证。
  • 如果给出最小的大小,上传的文件大小不得低于最小尺寸。
  • 如果给出最大大小,上传的文件大小不得高于最大大小。
  • 如果给出文件类型,则MIME类型必须是这些给定类型的一种。

以下是一些示例定义和解释:

  • uploaded_file :上传文件是可选的。当它不是空的时,必须是ERR_UPLOAD_OK
  • required|uploaded_file :需要上传文件,并且必须是ERR_UPLOAD_OK
  • uploaded_file:0,1M :上传的文件大小必须在0-1 MB之间,但是上传的文件是可选的。
  • required|uploaded_file:0,1M,png,jpeg :上传文件大小必须在0-1MB之间,MIME类型必须为image/jpegimage/png

如果您想在大小和类型validation之间有单独的错误消息,请选择。您可以使用mimes规则来验证文件类型,以及minmaxbetween最小规则来验证其大小。

对于多个文件上传,PHP将为您提供不良的数组$_FILES结构(这是主题)。因此,我们组成uploaded_file规则,以自动解决您的$_FILES值,以成为组织良好的数组结构。这意味着,您不仅可以mimes minmax ,或between规则来验证多个文件上传。您应该将uploaded_file仅仅为了解决其值,并确保该值是正确的上传文件值。

例如,如果您有这样的输入文件:

 < input type =\" file \" name =\" photos[] \" />
< input type =\" file \" name =\" photos[] \" />
< input type =\" file \" name =\" photos[] \" />

您可以像这样验证它:

validation = $validator->validate($_FILES, [
\’photos.*\’ => \’uploaded_file:0,2M,jpeg,png\’
]);

// or

$ validation = $validator->validate($_FILES, [
\’photos.*\’ => \’uploaded_file|max:2M|mimes:jpeg,png\’
]);\”>

 $ validation = $ validator -> validate ( $ _FILES , [
    \' photos.* \' => \' uploaded_file:0,2M,jpeg,png \'
]);

// or

$ validation = $ validator -> validate ( $ _FILES , [
    \' photos.* \' => \' uploaded_file|max:2M|mimes:jpeg,png \'
]);

或者,如果您有这样的输入文件:

 < input type =\" file \" name =\" images[profile] \" />
< input type =\" file \" name =\" images[cover] \" />

您可以这样验证它:

validation = $validator->validate($_FILES, [
\’images.*\’ => \’uploaded_file|max:2M|mimes:jpeg,png\’,
]);

// or

$ validation = $validator->validate($_FILES, [
\’images.profile\’ => \’uploaded_file|max:2M|mimes:jpeg,png\’,
\’images.cover\’ => \’uploaded_file|max:5M|mimes:jpeg,png\’,
]);\”>

 $ validation = $ validator -> validate ( $ _FILES , [
    \' images.* \' => \' uploaded_file|max:2M|mimes:jpeg,png \' ,
]);

// or

$ validation = $ validator -> validate ( $ _FILES , [
    \' images.profile \' => \' uploaded_file|max:2M|mimes:jpeg,png \' ,
    \' images.cover \' => \' uploaded_file|max:5M|mimes:jpeg,png \' ,
]);

现在,当您使用getValidData()getInvalidData()时,您将获得良好的数组结构,就像单个文件上传一样。

哑剧:Extension_a,Extension_B,…

validation下的$_FILES项目必须具有与列出的扩展名之一相对应的MIME类型。

默认/默认值

这是没有验证任何东西的特殊规则。如果该属性为空或不存在,它只是将默认值设置为属性。

例如,如果您有这样的validation

validation = $validator->validate([
\’enabled\’ => null
], [
\’enabled\’ => \’default:1|required|in:0,1\’
\’published\’ => \’default:0|required|in:0,1\’
]);

$ validation ->passes(); // true

// Get the valid/default data
$valid_data = $ validation ->getValidData();

$enabled = $valid_data[\’enabled\’];
$published = $valid_data[\’published\’];\”>

 $ validation = $ validator -> validate ([
    \' enabled \' => null
], [
    \' enabled \' => \' default:1|required|in:0,1 \'
    \'published\' => \' default : 0 |required|in: 0 , 1 \'
]);

$ validation -> passes (); // true

// Get the valid/default data
$ valid_data = $ validation -> getValidData ();

$ enabled = $ valid_data [ \' enabled \' ];
$ published = $ valid_data [ \' published \' ];

validation通过,因为我们为enabledpublished10默认值,该值有效。然后,我们可以获取有效/默认数据。

电子邮件

此validation下的字段必须是有效的电子邮件地址。

大写

此validation下的字段必须是有效的大写。

小写

此validation下的字段必须有效小写。

JSON

此validation下的字段必须是有效的JSON字符串。

阿尔法

此规则下的字段必须完全是字母字符。

数字

此规则下的字段必须是数字。

alpha_num

此规则下的字段必须完全是alpha数字字符。

alpha_dash

该规则下的字段可能具有α数字字符,破折号和下划线。

alpha_spaces

此规则下的字段可能具有alpha字符以及空格。

:value_1,value_2,…

此规则下的字段必须包含在给定值列表中。

该规则使用in_array检查值。默认情况下, in_array禁用严格检查。因此,它没有检查数据类型。如果要启用严格的检查,可以这样调用验证器:

validation = $validator->validate($data, [
\’enabled\’ => [
\’required\’,
$validator(\’in\’, [true, 1])->strict()
]
]);\”>

 $ validation = $ validator -> validate ( $ data , [
    \' enabled \' => [
        \' required \' ,
        $ validator ( \' in \' , [ true , 1 ])-> strict ()
    ]
]);

然后,“启用”值应为boolean true ,或int 1

not_in :value_1,value_2,…

此规则下的字段不得包含在给定值列表中。

此规则也使用in_array 。您可以通过调用验证器来启用严格的检查,并在上面in规则中调用strict()之类的示例。

最小值:数字

此规则下的字段必须大大或等于给定的数字。

对于字符串值,大小对应于字符的数量。对于整数或浮点值,大小对应于其数值值。对于数组,大小对应于数组的计数。如果您的值是数字字符串,则可以将numeric规则列为数字值而不是字符数量。

您还可以使用此规则验证上传文件,以验证上传文件的最小大小。例如:

validation = $validator->validate([
\’photo\’ => $_FILES[\’photo\’]
], [
\’photo\’ => \’required|min:1M\’
]);\”>

 $ validation = $ validator -> validate ([
    \' photo \' => $ _FILES [ \' photo \' ]
], [
    \' photo \' => \' required|min:1M \'
]);
最大:数字

此规则下的字段必须比给定数字低或等于给定的数字。价值大小以类似于min规则的方式计算。

您还可以使用此规则验证上传文件,以验证上传文件的最大大小。例如:

validation = $validator->validate([
\’photo\’ => $_FILES[\’photo\’]
], [
\’photo\’ => \’required|max:2M\’
]);\”>

 $ validation = $ validator -> validate ([
    \' photo \' => $ _FILES [ \' photo \' ]
], [
    \' photo \' => \' required|max:2M \'
]);
之间:最大,最大

此规则下的字段必须具有最小值和最大参数之间的大小。价值大小以相同的方式计算,例如minmax规则。

您还可以使用此规则验证上传文件以验证上传文件的大小。例如:

validation = $validator->validate([
\’photo\’ => $_FILES[\’photo\’]
], [
\’photo\’ => \’required|between:1M,2M\’
]);\”>

 $ validation = $ validator -> validate ([
    \' photo \' => $ _FILES [ \' photo \' ]
], [
    \' photo \' => \' required|between:1M,2M \'
]);
数字:价值

validation下的字段必须是数字,并且必须具有确切的value长度。

digits_between :min,max

validation下的字段必须具有给定minmax之间的长度。

URL

此规则下的字段必须是有效的URL格式。默认情况下,它像any_scheme://...一样,检查通用URL方案格式。但是,您可以根据需要指定URL方案。

例如:

validation = $validator->validate($inputs, [
\’random_url\’ => \’url\’, // value can be `any_scheme://…`
\’https_url\’ => \’url:http\’, // value must be started with `https://***`
\’http_url\’ => \’url:http,https\’, // value must be started with `http://***` or `https://***`
\’ftp_url\’ => \’url:ftp\’, // value must be started with `ftp://`
\’custom_url\’ => \’url:custom\’, // value must be started with `custom://`
\’mailto_url\’ => \’url:mailto\’, // value must conatin valid mailto URL scheme like `mailto:a@mail.com,b@mail.com`
\’jdbc_url\’ => \’url:jdbc\’, // value must contain valid jdbc URL scheme like `jdbc:mysql://localhost/dbname`
]);\”>

 $ validation = $ validator -> validate ( $ inputs , [
    \' random_url \' => \' url \' ,          // value can be `any_scheme://...`
    \' https_url \' => \' url:http \' ,      // value must be started with `https://***`
    \' http_url \' => \' url:http,https \' , // value must be started with `http://***` or `https://***`
    \' ftp_url \' => \' url:ftp \' ,         // value must be started with `ftp://`
    \' custom_url \' => \' url:custom \' ,   // value must be started with `custom://`
    \' mailto_url \' => \' url:mailto \' ,   // value must conatin valid mailto URL scheme like `mailto:a@mail.com,b@mail.com`
    \' jdbc_url \' => \' url:jdbc \' ,       // value must contain valid jdbc URL scheme like `jdbc:mysql://localhost/dbname`
]);

对于常见的URL方案和MailTo,我们将FILTER_VALIDATE_URL组合以验证URL格式和preg_match以验证其方案。除JDBC URL外,目前仅检查有效的JDBC方案。

整数

t规则下的字段必须是整数。

布尔

该规则下的领域必须是布尔值。接受的输入是true

<

下载源码

通过命令行克隆项目:

git clone https://github.com/rakit/validation.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 开发教程 validation https://www.zuozi.net/32043.html

ui router
上一篇: ui router
ASP.NET Core Template
下一篇: ASP.NET Core Template
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务