Php Laravel Livewire验证-不带“全部”的“必需”和不带“不工作”的“必需”
我有一个livewire组件:Php Laravel Livewire验证-不带“全部”的“必需”和不带“不工作”的“必需”,php,laravel,laravel-validation,laravel-livewire,Php,Laravel,Laravel Validation,Laravel Livewire,我有一个livewire组件: class Cards extends Component { use WithFileUploads; public $question; public $answer; public $questionImage; public $questionImageOrigin; public $answerImage; public $answerImageOrigin; public $question
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');
}
现在我想创建并验证一张卡:
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'
]);
但这是行不通的。
当我插入某些内容(图像或音频)时,会出现以下错误:
The answer field is required when answer image / answer audio is not present.
所以-我想这是行不通的。还是我错了?
也许我必须使用另一种语法?
但我在文件里什么也没找到
请帮助。您在规则中添加了空格
'answer' => 'required_without: answerImage, answerAudio',
换成这个
'answer' => 'required_without:answerImage,answerAudio',
及
对此
'question' => 'required_without_all:questionImage,questionAudio',
是的,就是这样。非常感谢。
'question' => 'required_without_all:questionImage,questionAudio',