相关疑难解决方法(0)

如何在Laravel Rule中传递参数?

我想将此代码移至App \ Rule:

//Currently in class AppServiceProvider extends ServiceProvider

Validator::extend('empty_if', function ($attribute, $value, $parameters, $validator) {
   return ($value != '' && request($parameters[0]) != '') ? false : true;
});
Run Code Online (Sandbox Code Playgroud)

因此应该是这样的:

//in: App\Rules\EmptyIf

public function passes($attribute, $value, $parameters)
{
   return ($value != '' && request($parameters[0]) != '') ? false : true;
}
Run Code Online (Sandbox Code Playgroud)

但是我的问题是,我不能通过$参数

Validator::extend('empty_if', 'App\Rules\EmptyIf@passes');
Run Code Online (Sandbox Code Playgroud)

您如何将参数传递给Laravel Rule?

laravel

5
推荐指数
4
解决办法
2562
查看次数

php preg_replace删除字符串中的千位分隔符

有一篇很长的文章,我只想删除thousand separator,而不是逗号.

$str = "Last month's income is 1,022 yuan, not too bad.";
//=>Last month's income is 1022 yuan, not too bad.

preg_replace('#(\d)\,(\d)#i','???',$str);
Run Code Online (Sandbox Code Playgroud)

如何编写正则表达式模式?谢谢

php regex

1
推荐指数
1
解决办法
3182
查看次数

Laravel preg_match():未知的修饰符']'

我在Laravel 4.2上玩耍.我试图使用验证器来验证带有正则表达式的名称字段,这是我的规则如下:

public static $rules_save = [
    'name'      => 'required|regex:/[XI0-9/]+/|unique:classes'
];
Run Code Online (Sandbox Code Playgroud)

但是一旦我调用规则进行验证就会抛出错误,请参见下文:

preg_match(): Unknown modifier ']'
Run Code Online (Sandbox Code Playgroud)

在以下位置:

protected function validateRegex($attribute, $value, $parameters)
    {
        $this->requireParameterCount(1, $parameters, 'regex');

        return preg_match($parameters[0], $value); // **ON THIS LINE**
    }
Run Code Online (Sandbox Code Playgroud)

php regex laravel laravel-validation

0
推荐指数
1
解决办法
2240
查看次数

标签 统计

laravel ×2

php ×2

regex ×2

laravel-validation ×1