簡體   English   中英

如何驗證嵌套數組並在laravel中顯示消息

[英]how to validate nested array and show message in laravel

我有這樣的表格數據

在此處輸入圖片說明

我要實現的是,每個question中都必須有一個correct領域的answer 驗證如下:

$this->validate($request, [
    'questions.*.answers.*.correct' => 'required',
    ...
]);

但是此驗證要求所有answer字段都必須標記為正確。

所以,我的第一個問題是如何驗證此數組以檢查每個問題是否都有一個正確答案?
第二個是,如果驗證失敗,我如何顯示哪個問題沒有正確答案? 是否有諸如:index類的通配符或在驗證消息中使用的通配符?

我不知道您是如何創建表格的,但是您可以創建以下可能對您有所幫助的結構。

這樣使您的內部數組成為“答案”。

answers[
    'value1' => Answer 1,
    'value2' => Answer 2,
    'value3' => Answer 3,
    'value4' => Answer 4,
]

假設正確的答案是ans4然后,使數組如下所示:

answers[
    'value1' => Answer 1,
    'value2' => Answer 2,
    'value3' => Answer 3,
    'value4' => Answer 4,
    'correct' => 'value4'
]

現在,您可以定義如下驗證:

'questions.*.answers.value1' => 'required',
'questions.*.answers.value2' => 'required',
'questions.*.answers.value3' => 'required',
'questions.*.answers.value4' => 'required',
'questions.*.answers.correct' => 'required',

現在,您可以為上述值生成自定義錯誤消息。 希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM