简体   繁体   English

Laravel Livewire 验证 - required_without_all 和 required_without 不起作用

[英]Laravel Livewire Validation - required_without_all and required_without dont work

I have a livewire component:我有一个 livewire 组件:

  class Cards extends Component
  {
   use WithFileUploads;

   public $question;
   public $answer;

   public $questionImage;
   public $questionImageOrigin;
   public $answerImage;
   public $answerImageOrigin;

   public $questionAudio;
   public $questionAudioOrigin;
   public $answerAudio;
   public $answerAudioOrigin;

   public function render()
   {
       return view('livewire.cards');
   }

Now I want to create and validate a card:现在我想创建并验证一张卡片:

   public function createCard()
{
    $this->validate([
        'answerImage' => 'nullable|image|max:3000',
        'questionImage' => 'nullable|image|max:3000',
        'question' => 'required_without_all: questionImage, questionAudio',
        'answer' => 'required_without: answerImage, answerAudio',
        'questionAudio' => 'nullable|file|mimeTypes:audio/mpeg|max:3000',
        'answerAudio' => 'nullable|file|mimeTypes:audio/mpeg|max:3000'
    ]);

But this is not working.但这不起作用。 When I insert something (image or audio) I get the error:当我插入一些东西(图像或音频)时,我收到错误:

The answer field is required when answer image / answer audio is not present.

So - I guess this is not working.所以 - 我想这是行不通的。 Or am I wrong?还是我错了? Maybe I have to use another syntax?也许我必须使用另一种语法? But I found nothing in the docs.但我在文档中一无所获。

Please help.请帮忙。

You have added space in the rule您在规则中添加了空格

'answer' => 'required_without: answerImage, answerAudio',

Change it to this改成这个

'answer' => 'required_without:answerImage,answerAudio',

And

'question' => 'required_without_all: questionImage, questionAudio',

to this对此

'question' => 'required_without_all:questionImage,questionAudio',

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM