Comment écrire un champ dans Laravel qui peut passer la vérification via une seule règle lorsqu'il existe plusieurs règles de vérification ?
给我你的怀抱
给我你的怀抱 2017-05-16 16:48:29
0
2
701

Comment écrire un champ dans Laravel qui peut passer la vérification via une seule règle lorsqu'il existe plusieurs règles de vérification ?

'alipay'=>array('parfois','obligatoire','email','regex:/^1(3[0-9]|4[57]|5[0-35-9]|7 [0135678]|8[0-9])d{8}$/'),

Par exemple, cette règle de vérification
Tant que le compte de messagerie ou le compte de téléphone portable est réussi, la vérification peut être réussie

给我你的怀抱
给我你的怀抱

répondre à tous(2)
大家讲道理

J'ai déjà rencontré ce genre de demande, et je n'ai vraiment pas trouvé de solution de support native dans la documentation. C'est ce que j'ai fait au final, vous pouvez vous y référer

.
$rule = preg_match('/^\d+$/', $request->input($this->loginUsername())) ? 'tel' : 'email';
$this->validate($request, [
    $this->loginUsername() => "required|{$rule}",
    'password'             => 'required',
]);
刘奇

Règles de validation personnalisées

//AppServiceProvider
class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        Validator::extend('alipay', function($attribute, $value, $parameters, $validator) {
            return preg_match('/^1(3[0-9]|4[57]|5[0-35-9]|7[0135678]|8[0-9])\d{8}$/',$value) || filter_var(FILTER_VALIDATE_EMAIL,$value);
        });
    }

    public function register()
    {
    }
}

// Controller 使用
'alipay' => ['required','alipay']
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal