Rumah > Soal Jawab > teks badan
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
大家讲道理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',
]);
怪我咯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']