Laravel 中带有数组名称的 html 表单元素的自定义错误消息

我无法在表单中显示自定义 perr 字段验证错误消息。我非常感谢帮助解决这个问题。


我经常使用 Laravel 验证,因此了解其原理,但我目前遇到的问题是为名称为数组的 html 元素显示自定义消息。


我有“组”字段,单击按钮即可复制这些字段。每个集合都是使用递增索引值创建的,该索引值将一组与另一组区分开来:


<div id="divSet1">

    <input type='text' 

        class="form-control @error('form_fields[1][surname]') is-invalid @enderror" 

        id="form_fields_1_surname" name="form_fields[1][surname]" />

    @error('form_fields[1][surname]')

        <div class="alert alert-danger">{{ $message }}</div>

    @enderror

    

    .

    .

    . more fields here

    .

    .


</div>


<div id="divSet2">

    <input type='text' 

        class="form-control @error('form_fields[2][surname]') is-invalid @enderror" 

        id="form_fields_2_surname" name="form_fields[2][surname]" />

    @error('form_fields[2][surname]')

        <div class="alert alert-danger">{{ $message }}</div>

    @enderror

    

    .

    .

    . more fields here

    .

    .

</div>

表单请求类:


use Illuminate\Foundation\Http\FormRequest;

use Illuminate\Contracts\Validation\Validator;

use Illuminate\Validation\ValidationException;



/**

 * Application form request

 * 

 * @category controllers 

 * @sub-category validation

 */

class FormRequest extends FormRequest

{

    /**

     * Determine if the user is authorized to make this request.

     *

     * @return bool

     */

    public function authorize()

    {

        return true;

    }


    /**

     * Get the validation rules that apply to the request.

     *

     * @return array

     */

    public function rules()

    {

        return [

            'form_fields.*.surname' => 'required',

        ];

    }


    /**

     * Get the error messages for the defined validation rules

     * 

     * @return array

     */

    public function messages()

    {

        return [

            'form_fields.*.surname.required' => 'Please supply a surname',

        ];

    }


}

当我提交表单时,我没有看到失败的姓氏字段的自定义错误消息。这些字段甚至没有以红色突出显示。


UYOU
浏览 119回答 1
1回答

撒科打诨

你可以这样做@error('form_fields.2.surname') &nbsp;<div&nbsp;class="alert&nbsp;alert-danger">{{&nbsp;$message&nbsp;}}</div> @enderror
打开App,查看更多内容
随时随地看视频慕课网APP