cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk menulis medan dalam laravel yang boleh lulus pengesahan melalui satu peraturan apabila terdapat berbilang peraturan pengesahan?

Bagaimana untuk menulis medan dalam laravel yang boleh lulus pengesahan melalui satu peraturan apabila terdapat beberapa peraturan pengesahan?

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

Sebagai contoh, peraturan pengesahan ini
Selagi akaun e-mel atau akaun telefon bimbit lulus, pengesahan boleh diluluskan

给我你的怀抱给我你的怀抱2789 hari yang lalu720

membalas semua(2)saya akan balas

  • 大家讲道理

    大家讲道理2017-05-16 16:50:29

    Saya pernah menghadapi permintaan seperti ini sebelum ini, dan saya benar-benar tidak menemui penyelesaian sokongan asli dalam dokumentasi Inilah yang saya lakukan pada akhirnya, anda boleh merujuknya

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

    balas
    0
  • 怪我咯

    怪我咯2017-05-16 16:50:29

    Peraturan pengesahan tersuai

    //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']
    

    balas
    0
  • Batalbalas