4

동일한 페이지에 3 가지 양식이 있습니다.동일한 페이지에 여러 양식의 Laravel 요청 유효성 확인

public function rules() 
{ 
    return [ 
     // 
     'sold' => 'required', 
     'unit_in_stock' => 'required', 
     'unit_price_gbp' => 'required', 
     'returned_item' => 'required', 
    ]; 
} 


public function messages() 
{ 
    return [ 
     'sold.required' => 'Please enter quantity of sold parts', 
     'unit_in_stock.required' => 'Please enter quantity of sold parts', 
     'unit_price_gbp.required' => 'Please enter price in GBP', 
     'returned_item.required' => 'Please enter quantity of items', 
    ]; 
} 

을하지만 빈 필드에 대한 메시지와 함께 3 가지 형태의 또 다른 형태의 반환을 제출하려고 할 때 : 모든 입력은 요청 파일의 코드는 다음과 같은 구조를 가지고, 그것의 자신의 유효성 검사 규칙이 있습니다. 이 양식은 서로 관련이 없습니다. 여기

페이지 여기 Form errors

내 양식의 캡처 화면입니다 :

{!! Form::open(['url' => route('addDelivery.addDelivery'),'class'=>'contact-form','method'=>'POST']) !!} 

    <label>Price in GBP &#163;:</label> 
    {!! Form::text('unit_price_gbp', isset($price->unit_price_gbp) ? $price->unit_price_gbp : old('unit_price_gbp'), array('class'=>'form-control'), ['placeholder'=>'GBP']) !!} 
    <label>Quantity: </label> 
    {!! Form::text('unit_in_stock', isset($price->unit_in_stock) ? $price->unit_in_stock : old('unit_in_stock'), array('class'=>'form-control'), ['placeholder'=>'Qt.']) !!} 

    <input type="hidden" name="part_number" value="{{ $product->part_number }}"> 
    <input type="hidden" name="part_id" value="{{ $product->id }}"> 
    <input type="hidden" name="slug" value="{{ $product->slug }}"> 

    {!! Form::button('Add Delivery', ['class' => 'btn btn-sm btn-success','type'=>'submit']) !!} 

{!! Form::close() !!} 


{!! Form::open(['url' => route('sold.sold'),'class'=>'contact-form','method'=>'POST']) !!} 

    <label style="margin-right: 30px;">Sell:</label> 
    {!! Form::text('sold', old('sold'), array('class'=>'form-control', 'placeholder'=>'Qty.')) !!} 
    <input type="hidden" name="part_id" value="{{ $product->id }}"> 
    <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
    {!! Form::button('Sold', ['class' => 'btn btn-sm btn-success','type'=>'submit']) !!} 

{!! Form::close() !!} 


{!! Form::open(['url' => route('productReturn.productReturn'),'class'=>'contact-form','method'=>'POST']) !!} 

    <label>Return:</label> 
    {!! Form::text('returned_item', old('returned_item'), array('class'=>'form-control', 'placeholder'=>'Qty.')) !!} 
    <input type="hidden" name="part_id" value="{{ $product->id }}"> 
    <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
    {!! Form::button('Return', ['class' => 'btn btn-sm btn-success','type'=>'submit']) !!} 

{!! Form::close() !!} 

그러나 모든 세 가지 형태는 분리되어 별도로 제출해야합니다.

이 문제는 어떻게 해결할 수 있습니까?

답변

0

3 개의 양식을 3 개의 다른 URL로 제출하지만 동일한 기능을 사용하도록합니다.

아마도 다음 양식을 시작하기 전에 각 양식을 열고 닫아야합니다. 대부분 제출 버튼이 두 개 이상의 양식을 제출했을 가능성이 있습니까?

+0

변경했습니다. 그러나 이것은 여전히 ​​도움이되지 않습니다. –

+0

질문을 업데이트하고 양식 코드를 입력하십시오. – EddyTheDove

+0

안녕하세요, @EddyTheDove 질문에 코드를 추가했습니다. –

1

내가 본 것부터, 귀하의 규칙은 3 가지 형태로되어 있기 때문에 요청시 한 가지 형식으로 모든 규칙을 확인합니다.

특정 규칙 배열을 사용하여 (그러나 동일한 메시지 배열을 사용할 수 있음) 특정 양식 유효성 검사에 적용하면 제출하는 양식에 다른 양식 규칙이 적용되지 않습니다. 필드는 필드 세 번째 형태의 규칙은 첫 번째 양식 returned_item에서 첫 번째 양식 unit_price_gbp에서 판매

초 형태 unit_in_stock 필드입니다입니다

그래서 내 조언이

처럼 뭔가 규칙 기능을 재 작성하는 것입니다
public function rules($formType) 
{ 
    switch($formType){ 
     case "addDelivery": 
      return [ 
       //put only add delivery validation rules here 
      ]; 
     break; 
     case "sold": 
      return [ 
       //put only sold validation rules here 
      ]; 
     break; 
     case "productReturn": 
      return [ 
       //put only product return validation rules here 
      ]; 
    } 
} 

이 시점에서 규칙을 필요로하고 규칙 함수를 호출하고 올바른 양식 이름을 전달할 때마다 필요한 유효성 검사 규칙 집합이 반환됩니다.

희망이 있습니다.