gpt4 book ai didi

laravel-5 - 在 Laravel 中使用 required_with 将输入字段作为数组进行验证?

转载 作者:行者123 更新时间:2023-12-02 04:07:26 26 4
gpt4 key购买 nike

我有一个表,其中复选框作为数组,文本框也作为数组。我想要实现的是,当用户选中复选框时,它应该验证输入文本框不为空。

public function roombooking(Request $request)    {      $messsages = array(        'check.required'=>'No room was selected.Please select room to proceed for booking !',        'txtnos.required|numeric'=>'Please enter no of persons',    );      $rules = array(        'check'=>'required',        'txtnos'=>'required_with:data', //txtnos is a array input filed  and data is a array checkbox         );      $validator = Validator::make($request->all(),  $rules,$messsages            );      if ($validator->fails()) {            return Redirect::back()                ->withErrors($validator)                ->withinput();        }}

Html code

  
<table class="table table-hover"  data-toggle="table"  id="table"
data-click-to-select="true">
<thead>
<tr>
<th style="width:10%;" data-field="ActivityId">Select</th>
<th style="width:30%;" data-field="ActivityName">Activity Name</th>
<th style="width:30%;" data-field="Rate">Rate/Person</th>
<th style="width:30%;">Nos. of person</th>
</tr>
</thead>
<tbody>
@foreach($loadactivity as $key=>$activity)
<tr>
<td>
<input type="checkbox" name="data[]" value="0;{!! $activity->ActivityId !!};{!! $activity->Rate !!};0;0;{!! $activity->ActivityName !!}" />
</td>
<td>{!! $activity->ActivityName !!}</td>
<td>{!! $activity->Rate !!}</td>
<td >{!! Form::text('txtnos[]','',['class' => 'form-control small-textbox ','txtnoid'=>$activity->ActivityId]) !!}</td>
</tr>
@endforeach

</tbody>
</table>

请帮助我

最佳答案

更改您的表单:

...
<td><input type="checkbox" name="row[{{$key}}][data]" value="0;{!! $activity->ActivityId !!};{!! $activity->Rate !!};0;0;{!! $activity->ActivityName !!}" />
</td>
<td>{!! $activity->ActivityName !!}</td>
<td>{!! $activity->Rate !!}</td>
<td>{!! Form::text('row[{{$key}}][txtnos]','',['class' => 'form-control small-textbox ','txtnoid'=>$activity->ActivityId]) !!}</td>
...

所以唯一改变的是数据的名称和txtnos,它会给你以下内容:

$exampleResult = [
'row' => [
// old $key as new key
0 => [
'txtnos' => 'entered value',
'data' => '1', // But only if checked
],
1 => [
'txtnos' => 'entered value',
'data' => '1', // But only if checked
],
]
];

验证规则

$rules = [
'row.*.txtnos' => 'required_with:row.*.data'
];

在示例中,如果在同一行上设置了 data,则每行上的 txtnos 是必需的。

验证消息

$messages = [
'row.*.txtnos.required_with' => 'Enter a value or uncheck the checkbox..'
];

重要:
Laravel 5.2 中添加了 .*. 的验证,您没有指定确切的版本,所以我不确定它是否适合您。不管怎样,还有另一种方法可以做到这一点。

对于 < 5.2 版本,循环输入行并将示例中的 * 替换为当前键。

关于laravel-5 - 在 Laravel 中使用 required_with 将输入字段作为数组进行验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38786375/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com