zoukankan      html  css  js  c++  java
  • laravel 可用验证规则


    accepted

    验证的字段必须为 yeson1、或 true。这在确认服务条款是否同意时相当有用。

    active_url

    相当于使用了 PHP 函数 dns_get_record,验证的字段必须具有有效的 AAAAA 记录。

    after:date

    验证的字段必须是给定日期后的值。这个日期将会通过 PHP 函数 strtotime 来验证。
    'start_date' => 'required|date|after:tomorrow'
    你也可以指定其它的字段来比较日期:
    'finish_date' => 'required|date|after:start_date'

    after_or_equal:date

    验证的字段必须等于给定日期之后的值。更多信息请参见 after 规则。

    alpha

    验证的字段必须完全是字母的字符。

    alpha_dash

    验证的字段可能具有字母数字、破折号-以及下划线_

    alpha_num

    验证的字段必须完全是字母、数字。

    array

    验证的字段必须是一个 PHP 数组。

    before:date

    验证的字段必须是给定日期之前的值。这个日期将会通过 PHP 函数 strtotime 来验证。

    before_or_equal:date

    验证的字段必须是给定日期之前或之前的值。这个日期将会使用 PHP 函数 strtotime 来验证。

    between:min,max

    验证的字段的大小必须在给定的 minmax 之间。字符串、数字、数组或是文件大小的计算方式都用 size 方法进行评估。

    boolean

    验证的字段必须能够被转换为布尔值。可接受的参数为 truefalse10"1" 以及 "0"

    confirmed

    验证的字段必须和 foo_confirmation 的字段值一致。例如,如果要验证的字段是 password,输入中必须存在匹配的 password_confirmation 字段。

    date

    验证的字段值必须是通过 PHP 函数 strtotime 校验的有效日期。

    date_equals:date

    验证的字段必须等于给定的日期。该日期会被传递到 PHP 函数 strtotime

    date_format:format

    验证的字段必须与给定的格式相匹配。你应该只使用 datedate_format 其中一个用于验证,而不应该同时使用两者。

    different:field

    验证的字段值必须与字段 field 的值不同。

    digits:value

    验证的字段必须是数字,并且必须具有确切的值。

    digits_between:min,max

    验证的字段的长度必须在给定的 minmax 之间。

    dimensions

    验证的文件必须是图片并且图片比例必须符合规则:

    'avatar' => 'dimensions:min_width=100,min_height=200'
    可用的规则为: min_widthmax_widthmin_heightmax_heightwidthheightratio

    比例应该使用宽度除以高度的方式来约束。这样可以通过 3/2 这样的语句或像 1.5 这样的浮点的约束:

    'avatar' => 'dimensions:ratio=3/2'
    由于此规则需要多个参数,因此你可以 Rule::dimensions 方法来构造可读性高的规则:

    Validator::make($data, [
        'avatar' => [
            'required',
            Rule::dimensions()->maxWidth(1000)->maxHeight(500)->ratio(3 / 2),
        ],
    ]);```
    
    ### distinct
    验证数组时,指定的字段不能有任何重复值。
    
    ```'foo.*.id' => 'distinct'```
    
    ### email
    验证的字段必须符合 `e-mail` 地址格式。
    
    
    ### exists:table,column
    验证的字段必须存在于给定的数据库表中。
    
    Exists 规则的基本使用方法
    ```'state' => 'exists:states' ```
    指定自定义字段名称
    ```'state' => 'exists:states,abbreviation'```
    如果你需要指定 `exists` 方法用来查询的数据库。你可以通过使用`点`语法将数据库的名称添加到数据表前面来实现这个目的:
    
    ```'email' => 'exists:connection.staff,email'```
    如果要自定义验证规则执行的查询,可以使用 `Rule` 类来定义规则。在这个例子中,我们使用数组指定验证规则,而不是使用 `|` 字符来分隔它们:
    
    ```use IlluminateValidationRule;
    Validator::make($data, [
        'email' => [
            'required',
            Rule::exists('staff')->where(function ($query) {
                $query->where('account_id', 1);
            }),
        ],
    ]);```
    
    ### file
    验证的字段必须是成功上传的文件。
    
    
    ### filled
    验证的字段在存在时不能为空。
    
    
    ### image
    验证的文件必须是一个图像 `jpeg`、`png`、`bmp`、`gif`、或 `svg` 。
    
    
    ### in:foo,bar,...
    验证的字段必须包含在给定的值列表中。因为这个规则通常需要你 `implode` 一个数组,`Rule::in` 方法可以用来构造规则:
    
    ```use IlluminateValidationRule;
    Validator::make($data, [
        'zones' => [
            'required',
            Rule::in(['first-zone', 'second-zone']),
        ],
    ]);```
    
    ### in_array:anotherfield
    验证的字段必须存在于另一个字段 `anotherfield` 的值中。
    
    
    ### integer
    验证的字段必须是整数。
    
    
    ### ip
    验证的字段必须是 `IP` 地址。
    
    ### ipv4
    验证的字段必须是 `IPv4` 地址。
    
    ### ipv6
    验证的字段必须是 `IPv6` 地址。
    
    
    ### json
    验证的字段必须是有效的 `JSON` 字符串。
    
    
    ### max:value
    验证中的字段必须小于或等于 `value`。字符串、数字、数组或是文件大小的计算方式都用 `size` 方法进行评估。
    
    
    ### mimetypes:text/plain,...
    验证的文件必须与给定 `MIME` 类型之一匹配:
    
    ```'video' => 'mimetypes:video/avi,video/mpeg,video/quicktime'```
    要确定上传文件的 `MIME` 类型,会读取文件的内容来判断 `MIME` 类型,这可能与客户端提供的 `MIME` 类型不同。
    
    
    ### mimes:foo,bar,...
    验证的文件必须具有与列出的其中一个扩展名相对应的 `MIME` 类型。
    
    MIME 规则基本用法
    ```'photo' => 'mimes:jpeg,bmp,png'```
    即使你可能只需要验证指定扩展名,但此规则实际上会验证文件的 `MIME` 类型,其通过读取文件的内容以猜测它的 `MIME` 类型。
    
    这个过程看起来只需要你指定扩展名,但实际上该规则是通过读取文件的内容并判断其 `MIME` 的类型来验证的。
    
    可以在以下链接中找到完整的 `MIME` 类型列表及其相应的扩展名:
    
    https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types
    
    
    ### min:value
    验证中的字段必须具有最小值。字符串、数字、数组或是文件大小的计算方式都用 `size` 方法进行评估。
    
    
    ### nullable
    验证的字段可以为 `null`。这在验证基本数据类型时特别有用,例如可以包含空值的字符串和整数。
    
    
    ### not_in:foo,bar,...
    验证的字段不能包含在给定的值列表中。`Rule::notIn` 方法可以用来构建规则:
    
    ```use IlluminateValidationRule;
    Validator::make($data, [
        'toppings' => [
            'required',
            Rule::notIn(['sprinkles', 'cherries']),
        ],
    ]);```
    
    ### numeric
    验证的字段必须是数字。
    
    
    ### present
    验证的字段必须存在于输入数据中,但可以为空。
    
    
    ### regex:pattern
    验证的字段必须与给定的正则表达式匹配。
    
    注意: 当使用 `regex` 规则时,你必须使用数组,而不是使用 `|` 分隔符,特别是如果正则表达式包含 `|` 字符。
    
    
    ### required
    验证的字段必须存在于输入数据中,而不是空。如果满足以下条件之一,则字段被视为`空`:
    
    该值为 `null`.
    该值为空字符串。
    该值为空数组或空的 可数 对象。
    该值为没有路径的上传文件。
    
    ### required_if:anotherfield,value,...
    如果指定的其它字段 `anotherfield` 等于任何一个 `value` 时,被验证的字段必须存在且不为空。
    
    
    ### required_unless:anotherfield,value,...
    如果指定的其它字段 `anotherfield` 等于任何一个 `value` 时,被验证的字段不必存在。
    
    
    ### required_with:foo,bar,...
    只要在指定的其他字段中有任意一个字段存在时,被验证的字段就必须存在并且不能为空。
    
    
    ### required_with_all:foo,bar,...
    只有当所有的其他指定字段全部存在时,被验证的字段才必须存在并且不能为空。
    
    
    ### required_without:foo,bar,...
    只要在其他指定的字段中有任意一个字段不存在,被验证的字段就必须存在且不为空。
    
    
    ### required_without_all:foo,bar,...
    只有当所有的其他指定的字段都不存在时,被验证的字段才必须存在且不为空。
    
    
    ### same:field
    给定字段必须与验证的字段匹配。
    
    
    ### size:value
    验证的字段必须具有与给定值匹配的大小。对于字符串来说,`value` 对应于字符数。对于数字来说,`value` 对应于给定的整数值。对于数组来说, `size` 对应的是数组的 `count` 值。对文件来说,`size` 对应的是文件大小(单位 `kb` )。
    
    
    ### string
    验证的字段必须是字符串。如果要允许该字段的值为 `null` ,就将 `nullable` 规则附加到该字段中。
    
    
    ### timezone
    验证的字段必须是有效的时区标识符,会根据 `PHP` 函数 `timezone_identifiers_list` 来判断。
    
    
    ### unique:table,column,except,idColumn
    验证的字段在给定的数据库表中必须是唯一的。如果没有指定 `column`,将会使用字段本身的名称。
    
    指定自定义字段名称:
    
    ```'email' => 'unique:users,email_address'```
    自定义数据库连接
    
    有时,你可能需要为验证程序创建的数据库查询设置自定义连接。上面的例子中,将 `unique:users` 设置为验证规则,等于使用默认数据库连接来查询数据库。如果要对其进行修改,请使用`点`语法指定连接和表名:
    
    ```'email' => 'unique:connection.users,email_address'```
    
    
    强迫 `Unique` 规则忽略指定 `I`D:
    
    如果你想在进行字段唯一性验证时忽略指定 `ID` 。例如,在`更新个人资料`页面会包含用户名、邮箱和地点。这时你会想要验证更新的 `E-mail` 值是否唯一。如果用户仅更改了用户名字段而没有改 `E-mail` 字段,就不需要抛出验证错误,因为此用户已经是这个 `E-mail` 的拥有者了。
    
    使用 `Rule` 类定义规则来指示验证器忽略用户的 `ID`。 这个例子中通过数组来指定验证规则,而不是使用 `|` 字符来分隔:
    
    ```use IlluminateValidationRule;
    Validator::make($data, [
        'email' => [
            'required',
            Rule::unique('users')->ignore($user->id),
        ],
    ]);```
    如果你的数据表使用的主键名称不是 `id`,那就在调用 `ignore` 方法时指定字段的名称:
    
    ```'email' => Rule::unique('users')->ignore($user->id, 'user_id')```
    增加额外的 `Where` 语句:
    
    你也可以通过 `where` 方法指定额外的查询条件。例如,我们添加 `account_id` 为 `1` 的约束:
    
    ```'email' => Rule::unique('users')->where(function ($query) {
        $query->where('account_id', 1);
    })```
    
    ### url
    验证的字段必须是有效的 `URL`。
  • 相关阅读:
    用Python完成一个汇率转换器
    鸿蒙如何用JS开发智能手表App
    鸿蒙如何用JS开发智能手表App
    SAP Spartacus SplitViewComponent Migration 的一个具体例子
    SAP Spartacus B2B 页面 Popover Component 的条件显示逻辑
    SAP Spartacus 升级时关于 schematics 的更新
    SAP Spartacus B2B 页面 Disable 按钮的显示原理
    SAP Spartacus B2B 页面 Disable Confirmation 对话框的显示原理
    通过 Feature Level 动态控制 SAP Spartacus 的页面显示
    SAP Commerce Cloud Build Manifest Components
  • 原文地址:https://www.cnblogs.com/littleBit/p/8929938.html
Copyright © 2011-2022 走看看