2013-11-23 12 views
16

मैं यह देखने की कोशिश कर रहा हूं कि मेरे नियंत्रक में चेकबॉक्स चेक किया गया है या नहीं। मैंने पढ़ा है कि यह कोड करने के लिए यह कोड हैलार्वेल 4, चेकबॉक्स की जांच के लिए परीक्षण कैसे करें?

if (Input::get('attending_lan', true)) 

लेकिन चेकबॉक्स अनचेक होने पर भी यह सच हो जाता है।

+2

'इनपुट :: ('attending_lan', झूठी)' काम करेगा, या 'इनपुट :: प्राप्त ('attending_lan', '0') प्राप्त' – Mei

उत्तर

14

मान लिया जाये कि आप अपने ध्यान में रखते हुए इस प्रपत्र कोड है:

// view.blade.php 
{{ Form::open() }} 
    {{ Form::checkbox('attending_lan', 'yes') }} 
    {{ Form::submit('Send') }} 
{{ Form::close() }} 

आप इस तरह चेकबॉक्स का मूल्य प्राप्त कर सकते हैं:

if (Input::get('attending_lan') === 'yes') { 
    // checked 
} else { 
    // unchecked 
} 

कुंजी यहाँ एक मूल्य निर्धारित करने के लिए है कि आप है जब आप अपने दृश्य में चेकबॉक्स बनाते हैं (उदाहरण में, मान yes होगा), और उसके बाद उस मान को अपने नियंत्रक में जांचें।

+0

धन्यवाद, काम पूरी तरह से। –

+1

यह भी ध्यान दिया जाना चाहिए कि अगर attending_lan अनचेक किया गया है, तो आपको कोई त्रुटि नहीं मिलेगी। यह मानक PHP से अलग है, जहां आप एक अनचेक attending_lan से पूछते हैं तो आपको चर नहीं मिलता है। – Puzbie

27

उपयोग Input::has('attending_lan')

सामान्य शब्दों में, यदि चेकबॉक्स चयनित है, अनुरोध चर उपलब्ध नहीं होगा। यदि ऐसा नहीं है तो आपको कोड में कहीं और समस्या है।

भी प्रासंगिक: Does <input type="checkbox" /> only post data if it's checked?

+3

यह सबसे अच्छा तरीका है –

+0

यह लॉगिन पर Laravel 'remember_me' के साथ मेरी समस्या को ठीक करता है। –

+0

बिल्कुल सही समाधान – garrettendi

-2

एक वैकल्पिक ('कुंजी') सरणी कुंजी जाँच करने के लिए यदि वह मौजूद है को देखने के लिए, यह देखते हुए कि जब एक इनपुट की जाँच नहीं की :: मिल आप समस्याओं दे सकता है इसकी एक अपरिभाषित सूचकांक दिया है इनपुट सरणी में।

$input = Input::all(); 
if(array_key_exists($input('key',$input)){ 
// Checked 
}else{ 
// Not Checked 
} 

या .. ऐसा कुछ। मैं थोड़ा सा मैला हूं लेकिन मुझे उम्मीद है कि यह किसी की मदद कर सकता है।

-1
if(filter_var(Input::get('attending_lan'), FILTER_VALIDATE_BOOLEAN)){ 

FILTER_VALIDATE_BOOLEAN फिल्टर एक बूलियन विकल्प के रूप में मूल्य सत्यापित करता है।

संभावित वापसी मान:

  • रिटर्न "1" के लिए सही, "सही", और "हाँ", और अपरकेस संस्करण "पर"।
  • "0", "झूठा", "बंद" और "नहीं", और अपरकेस संस्करणों के लिए गलत लौटाता है।
  • अन्यथा वापस लौटाता है।

स्रोत: http://www.w3schools.com/php/filter_validate_boolean.asp

संबंधित मुद्दे