2017-08-17 50 views
-1

我有功能的控制器,该控制器重复地产生通过AJAX请求的表无法验证表laravel的控制器5.4

我想验证表每次AJAX使得请求给此函数

如何可以验证ajax通过点击按钮获取表格的开始日期和法律注册号。

我的功能代码:

public function postlawsdata() 
    { 
     $lawdata = Input::get('law_type_id'); 
     $sublawdata = Input::get('law_sub_type_id'); 
     $start_date = Input::get('start_date'); 
     $res_div = ''; 
     $sub_law_count = count($sublawdata); 
     $validate_laws = ''; 
     if (count($sublawdata) > 0) { 

      for ($i = 0; $i < count($lawdata); $i++) { 
       $law_details = DB::table('tbl_law_master')->where('id', $lawdata[$i])->select('tbl_law_master.id as law_id', 'tbl_law_master.lm_id', 'tbl_law_master.law_name')->first(); 

       $sublaw_details = DB::table('tbl_law_sub_master') 
        ->where('tbl_law_sub_master.lm_id', $lawdata[$i]) 
        ->whereNull('tbl_law_sub_master.deleted_at') 
        ->select('tbl_law_sub_master.id as sublaw_id', 'tbl_law_sub_master.sub_law_name', 'tbl_law_sub_master.lms_id')->get(); 


       if (count($sublaw_details) > 0) { 
        $res_div .= '<table width="100%" border="0" class="table table-striped table-bordered table-hover">'; 
        $res_div .= '<tr> 
            <td colspan="2" rowspan="2">  
             <strong>' . $law_details->lm_id . ' (' . $law_details->law_name . ')</strong> 
            </td> 
            <td > 
             <span class="required" aria-required="true">* </span><input type="text" value="' . $start_date . '" placeholder="DD-MM-YYYY (Start Date)" name="law_start_date[]" id="law_start_date" att_law_id="' . $lawdata[$i] . '" class="date-picker required locationformstyle locationparentsd dynamiclocationparentsd' . $lawdata[$i] . '"> 
</td></tr><tr><td> 
             <span class="required" aria-required="true">* </span><input type="text" placeholder="Law Registration No." name="law_reg_no" id="law_reg_no" class="locationformstyle required"> 

            </td> 
            </tr>'; 

        foreach ($sublaw_details as $sublawdetails) { 
         if (in_array($sublawdetails->sublaw_id, $sublawdata)) { 
          $res_div .= '<tr> 
      <td width="220">Start Date: <input type="text" name="sub_law_start_date[]" placeholder="DD-MM-YYYY" onfocus="this.blur()" class="locationformstyle date-picker dynamiclocationparentsd' . $lawdata[$i] . '" att_law_id="' . $lawdata[$i] . '"> </td> 
      <td width="220">End Date: <input type="text" name="sub_law_end_date[]" placeholder="DD-MM-YYYY" onfocus="this.blur()" class="locationformstyle date-picker"></td> 
      <td align="left"><strong>' . $sublawdetails->lms_id . ' (' . $sublawdetails->sub_law_name . ')</strong> 
      <input type="hidden" class="locationformstyle" name="company_sub_laws[]" value="' . $sublawdetails->sublaw_id . '"> 
      </td> 
      </tr> 
      '; 
         } 
        } 
        $res_div .= '</table>'; 
       } 
      } 
     } else { 
      $validate_laws = 'Please Select Atleast One Law'; 
     } 
     $data = array(
      'law_info' => $res_div, 
      'validate_laws' => $validate_laws, 
      'sub_law_count' => $sub_law_count 
     ); 
     return json_encode($data); 
    } 
+0

检查*写验证逻辑*从部分[文档】(https://laravel.com/docs/5.4/validation) –

回答

2

创建一个新的验证,像这样;

public function postlawsdata() 
    { 


  
     $validator = Validator::make($request->all(), [ 
      'start_date' => 'required', 
     //add other fields here with custom validation rules 
     ]); 

  
     if ($validator->passes()) { 

      $lawdata = Input::get('law_type_id'); 
     $sublawdata = Input::get('law_sub_type_id'); 
     $start_date = Input::get('start_date'); 
     $res_div = ''; 
     $sub_law_count = count($sublawdata); 
     $validate_laws = ''; 
     if (count($sublawdata) > 0) { 

      for ($i = 0; $i < count($lawdata); $i++) { 
       $law_details = DB::table('tbl_law_master')->where('id', $lawdata[$i])->select('tbl_law_master.id as law_id', 'tbl_law_master.lm_id', 'tbl_law_master.law_name')->first(); 

       $sublaw_details = DB::table('tbl_law_sub_master') 
        ->where('tbl_law_sub_master.lm_id', $lawdata[$i]) 
        ->whereNull('tbl_law_sub_master.deleted_at') 
        ->select('tbl_law_sub_master.id as sublaw_id', 'tbl_law_sub_master.sub_law_name', 'tbl_law_sub_master.lms_id')->get(); 


       if (count($sublaw_details) > 0) { 
        $res_div .= '<table width="100%" border="0" class="table table-striped table-bordered table-hover">'; 
        $res_div .= '<tr> 
            <td colspan="2" rowspan="2">  
             <strong>' . $law_details->lm_id . ' (' . $law_details->law_name . ')</strong> 
            </td> 
            <td > 
             <span class="required" aria-required="true">* </span><input type="text" value="' . $start_date . '" placeholder="DD-MM-YYYY (Start Date)" name="law_start_date[]" id="law_start_date" att_law_id="' . $lawdata[$i] . '" class="date-picker required locationformstyle locationparentsd dynamiclocationparentsd' . $lawdata[$i] . '"> 
</td></tr><tr><td> 
             <span class="required" aria-required="true">* </span><input type="text" placeholder="Law Registration No." name="law_reg_no" id="law_reg_no" class="locationformstyle required"> 

            </td> 
            </tr>'; 

        foreach ($sublaw_details as $sublawdetails) { 
         if (in_array($sublawdetails->sublaw_id, $sublawdata)) { 
          $res_div .= '<tr> 
      <td width="220">Start Date: <input type="text" name="sub_law_start_date[]" placeholder="DD-MM-YYYY" onfocus="this.blur()" class="locationformstyle date-picker dynamiclocationparentsd' . $lawdata[$i] . '" att_law_id="' . $lawdata[$i] . '"> </td> 
      <td width="220">End Date: <input type="text" name="sub_law_end_date[]" placeholder="DD-MM-YYYY" onfocus="this.blur()" class="locationformstyle date-picker"></td> 
      <td align="left"><strong>' . $sublawdetails->lms_id . ' (' . $sublawdetails->sub_law_name . ')</strong> 
      <input type="hidden" class="locationformstyle" name="company_sub_laws[]" value="' . $sublawdetails->sublaw_id . '"> 
      </td> 
      </tr> 
      '; 
         } 
        } 
        $res_div .= '</table>'; 
       } 
      } 
     } else { 
      $validate_laws = 'Please Select Atleast One Law'; 
     } 
     $data = array(
      'law_info' => $res_div, 
      'validate_laws' => $validate_laws, 
      'sub_law_count' => $sub_law_count 
     ); 
     return json_encode($data); 

  

     } 

  
     return response()->json(['error'=>$validator->errors()->all()]); 
    } 

add use Validator;在顶部。

+0

其表示未定义的变量$请求 – Deb

+0

替换请求$请求() –

+0

BRO当我提交我的表单我看不到我的表 – Deb