Laravel 4中有没有一种方法可以动态创建自定义验证消息

时间:2018-07-03 18:15:28

标签: php laravel

在laravel 4中,您可以通过将其添加到$this->messages数组中来创建自定义验证错误消息。但就我而言,我需要在运行自定义验证规则时在运行时添加它。

例如,我有这样的自定义规则:

        Validator::extend('isCityNamesValid', function ($attribute, $value, $parameters) {
            $value = array_map('trim', explode("\n", $value));
            if(empty($value)) {
                return true;
            }
            $invalidNames = \City::getInvalidCityNames($value, $parameters);
            if(!empty($invalidNames)) {
                $this->messages[$attribute.'.is_city_names_valid'] = sprintf('You provide invalid city names for selected countries, please remove/fix these names: %s.', implode(', ', $invalidNames));
                return false;
            }

            return true;
        });

在此自定义规则中,仅当规则失败时才创建消息,并且将自定义数据附加到消息中。是否可以不覆盖默认的laravel passes方法?还是我需要在不使用laravel验证机制的情况下进行此类验证?

0 个答案:

没有答案