2017-05-02 119 views
0

我正在尝试在Laravel中执行Flash消息,现在这些Flash消息在没有复选框的页面上适用于成功消息和错误消息。Laravel Flash错误 - 如何检查复选框是否被选中?

我有一个名为'deleteappointmentform'的视图,它要求用户选中一个复选框,并删除所选的约会,但是如果我没有选中任何复选框并单击提交,它会给我一个成功消息,而不会实际检查他们是否已勾选和复选框。我试图得到它显示一个错误信息,如果他们不检查任何复选框

任何帮助的感谢,谢谢

这是与删除约会

function deleteAppointment(Request $request) 
{ 
    Appointment::destroy($request->appointments); 
    Session::flash('successCancelAppointment', 'Appointment cancelled successfully!'); 
return redirect('all'); 
} 

此交易的功能是我的消息刀片

@if (Session::has('successCancelAppointment')) 

<div class="alert alert-success" role="alert"> 
    <strong>Success: </strong> {{Session::get('successCancelAppointment')}} 
</div> 
    @endif 



@if (count($errors) > 0) 

<div class="alert alert-danger" role="alert"> 
    <strong>Errors:</strong> 
    <ul> 
    @foreach ($errors->all() as $error) 
     <li>{{$error}}</li> 
     @endforeach 

    </ul> 
</div> 
@endif 

这是我deleteappointmentsblade

@extends('layouts.master') 
@section('title', 'Cancel Appointment') 
@section('content') 

<form action="{{url('deleteappointment')}}" method="POST"> 
    {{ csrf_field() }} 
    @foreach ($appointments as $appointment) 
     <div> 
      <label> {{$appointment->user->firstname}} {{$appointment->user->surname}}</label> 
      <label>Has an appointment at: {{$appointment->time}}</label> 
      <label>On: {{$appointment->date}}</label> 
      <label>With Dr: {{$appointment->doctor->surname}}</label> 

      <input type='checkbox' value='{{$appointment->id}}' name='appointments[]'/> 
     </div> 
    @endforeach 
    <input type="submit" name="submitBtn" value="Cancel Appointments"> 
</form> 


@endsection 

回答

2

你可以试试这个

function deleteAppointment(Request $request) 
{  $rules=array(
      'appointments'=>'required' 
     ); 
     $validator = Validator::make($request->all(), $rules); 
     if($validator->fails()) 
     { 
     $messages = $validator->messages(); 
     $errors = $messages->all(); 
     return redirect()->back()->withErrors($errors); 
     } 
     Appointment::destroy($request->appointments); 
    Session::flash('successCancelAppointment', 'Appointment cancelled 
     successfully!'); 
    return redirect('all'); 
} 
+0

那做工精良,三江源,请您能否简要解释代码的规则和验证部分是干什么的? – TF120

+0

请参阅此链接https://laravel.com/docs/5.4/validation#form-request-validation –

相关问题