laravel: 常用的验证规则

一,只包含中文:

'city'   => 'required|regex:/^[\x{4e00}-\x{9fa5}]+$/u',

正则表达式 [\x{4e00}-\x{9fa5}] 匹配所有中文字符,其中 \x{4e00} 是中文字符的开始码,\x{9fa5} 是结束码。

u 修饰符用于正则表达式,以支持 UTF-8 编码

二,包含中英文数字

    public function rules()
    {
        return [
            'your_field' => ['required', 'regex:/^[A-Za-z0-9\x{4e00}-\x{9fa5}]+$/u']
        ];
    }

三,指字字符串长度范围

使用min/max规则
例子:最短2个字,最长11个字

        $message = [
            'city'  => '请选择要搜索的城市',
            'city.min'  => '长度最小2个字',
            'city.max'  => '长度最大11个字',
        ];

        $params = $this->validate($request, [
            //所属城市
            'city'   => 'required|string|min:2|max:11|regex:/^[\x{4e00}-\x{9fa5}]+$/u',
        ],$message);

 说明:laravel校验时,对字符串长度是按照utf-8计算的,对于中文来说很方便

四,指定字符串固定长度

使用size规则

        //得到城市
        $message = [
            'city'  => '请选择要搜索的城市',
            'city.size'  => '长度固定11个字',
        ];

        $params = $this->validate($request, [
            //所属城市
            'city'   => 'required|string|size:11|regex:/^[\x{4e00}-\x{9fa5}]+$/u',
        ],$message);

 五,指定数字的大小范围

        // 参数检查
        $message = [
            'age'  => '用户年龄错误',
        ];

        $params = $this->validate($request, [
            'age'   => 'required|integer|between:1,120',
        ],$message);

六,分别指定数字的最大值和最小值

最小值用min

        $message = [
            'age'  => '用户年龄错误',
        ];

        $params = $this->validate($request, [
            'age'   => 'required|numeric|min:18',
        ],$message);

最大值用max

        // 参数检查
        $message = [
            'age'  => '用户年龄错误',
            'age.max'  => '高于最大值',
        ];

        $params = $this->validate($request, [
            'age'   => 'required|numeric|max:120',
        ],$message);

七,变量的值是固定的几个,可以列举:

用in列举出可以选的值

            //租还是买类型: 7.租共享单车8.买自行车
            'type'   => 'required|in:7,8',

八,变量是数组

            //商店类型 1.大型超市 2.夫妻店 3.社区底商 4.临街门面 5.档口摊位 6.百货中心 7.其他
            'shop_type'=>'nullable|array',
            'shop_type.*'=>'required|in:1,2,3,4,5,6,7',

 

posted @ 2024-08-07 19:32  刘宏缔的架构森林  阅读(186)  评论(0编辑  收藏  举报