2014-05-01 12 views
28

तो मैं मैं Laravel बताने के लिए है कि इन क्षेत्रों में से कम से कम एक की आवश्यकता है चाहते हैं तो इन क्षेत्रोंLaravel "कम से कम एक" फ़ील्ड आवश्यक सत्यापन

{{ Form::open(array('url' => 'user', 'id' => 'user_create_form')) }} 

    <div class="form-input-element"> 
     <label for="facebook_id">ID Facebook</label> 
     {{ Form::text('facebook_id', Input::old('facebook_id'), array('placeholder' => 'ID Facebook')) }} 
    </div> 

    <div class="form-input-element"> 
     <label for="twitter_id">ID Twitter</label> 
     {{ Form::text('twitter_id', Input::old('twitter_id'), array('placeholder' => 'ID Twitter')) }} 
    </div> 

    <div class="form-input-element"> 
     <label for="instagram_id">ID Instagram</label> 
     {{ Form::text('instagram_id', Input::old('instagram_id'), array('placeholder' => 'ID Instagram')) }} 
    </div> 

{{ Form::close() }} 

साथ इस फार्म की है। मैं वैलिडेटर का उपयोग करके ऐसा कैसे करूं?

$rules = array(
    'facebook_id'     => 'required', 
    'twitter_id'     => 'required', 
    'instagram_id'     => 'required', 
); 
$validator = Validator::make(Input::all(), $rules); 

उत्तर

63

required_without_all:foo,bar,... बाहर की जाँच की कोशिश करो, ऐसा लगता है कि यह तुम्हारे लिए क्या करना चाहिए। उनके दस्तावेज़ों को उद्धृत करने के लिए:

सत्यापन के तहत फ़ील्ड केवल तभी उपस्थित होना चाहिए जब अन्य सभी निर्दिष्ट फ़ील्ड मौजूद न हों।


उदाहरण:

$rules = array(
    'facebook_id' => 'required_without_all:twitter_id,instagram_id', 
    'twitter_id' => 'required_without_all:facebook_id,instagram_id', 
    'instagram_id' => 'required_without_all:facebook_id,twitter_id', 
); 
$validator = Validator::make(Input::all(), $rules); 
+4

धन्यवाद! लार्वेल अद्भुत है! – William

+0

कभी भी सर्वश्रेष्ठ ढांचा। –

3
**For automatic validation** 

$rules = array(
    'facebook_id' => 'required_without_all:twitter_id,instagram_id', 
    'twitter_id' => 'required_without_all:facebook_id,instagram_id', 
    'instagram_id' => 'required_without_all:facebook_id,twitter_id', 
); 
$message = array(
    'facebook_id' => 'The facebook field is required when none of twitter/instagram are present.', 
    'twitter_id' => 'The twitter field is required when none of facebook/instagram are present.', 
    'instagram_id' => 'The instagram field is required when none of twitter/faebook are present.'); 

$validator = Validator::make(Input::all(), $rules, $message)->validate(); 
संबंधित मुद्दे