我正在使用表单请求验证方法来验证laravel 5中的请求.我想使用表单请求验证方法添加我自己的验证规则.下面给出了我的请求类.我想添加带有字段项的自定义验证numeric_array.

  protected $rules = [
      'shipping_country' => ['max:60'],
      'items' => ['array|numericarray']
];

My cusotom function is given below

 Validator::extend('numericarray', function($attribute, $value, $parameters) {
            foreach ($value as $v) {
                if (!is_int($v)) {
                    return false;
                }
            }
            return true;
        });

如何在laravel5中将此验证方法用于关于表单请求的验证?

推荐答案

Using Validator::extend() like you do is actually perfectly fine you just need to put that in a Service Provider like this:

<?php namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class ValidatorServiceProvider extends ServiceProvider {

    public function boot()
    {
        $this->app['validator']->extend('numericarray', function ($attribute, $value, $parameters)
        {
            foreach ($value as $v) {
                if (!is_int($v)) {
                    return false;
                }
            }
            return true;
        });
    }

    public function register()
    {
        //
    }
}

Then register the provider by adding it to the list in config/app.php:

'providers' => [
    // Other Service Providers

    'App\Providers\ValidatorServiceProvider',
],

现在,您可以在任何地方使用numericarray验证规则

Laravel相关问答推荐

Laravel带S3存储器

拉威尔望远镜没有显示请求细节

到查询构建器的MySQL查询

Laravel Eloquent查询与集合优化

Laravel 获取具有多对多关系的中间表数据

在 Laravel 中设置多个 Vue 组件的问题

FileViewFinder.php 第 137 行中的 Laravel 5 InvalidArgumentException:未找到视图 [.admin]

磁盘 [视频] 没有配置的驱动程序

Laravel 5在blade中 echo 包含html的会话变量

Laravel:`loadMissing` 函数的目的是什么?

如何在中间件 Laravel 中获取请求的控制器和操作的名称

如何在 Laravel 查询中使用多个 OR、AND 条件

Laravel - 更新时禁用更新时间

Laravel 字符串验证以允许空字符串

Laravel 隐藏属性.例如密码 - 安全

Laravel 数据库模式中的 MediumBlob

Laravel 中的 isDirty() 是什么意思?

将参数传递给 Laravel 中的中间件

Laravel Route 模型与关系绑定

如何在 laravel 表单验证错误消息中给出自定义字段名称