2013-10-30 15 views
7

हैलो मैं वर्तमान में लैरवेल 4 रूपों के साथ काम कर रहा हूं। मैं एक 'डिफ़ॉल्ट मूल्य' चुनने के बिना एक विशिष्ट वर्ग के साथ एक पाठ इनपुट उत्पन्न करने के लिए संघर्ष कर रहा हूँ। मैं निम्न कार्य करना चाहते हैं:लार्वेल 4 फॉर्म टेक्स्ट इनपुट

{{ Form::text('first_name', array('class' => 'first_name')) }} 

हालांकि मैं इस त्रुटि मिलती है (htmlentities() expects parameter 1 to be string, array given।) जब तक मैं एक डिफ़ॉल्ट मान जोड़ें:

{{ Form::text('first_name', 'Some Value', array('class' => 'first_name')) }} 

डिफ़ॉल्ट मान तो क्षेत्र भरता है और इससे पहले कि हटाना आवश्यक है एक नया मूल्य दर्ज करना तो इसे किसी स्थान धारक की तरह भी इस्तेमाल नहीं किया जा सकता है।

अग्रिम धन्यवाद,

दान

+0

आसान समाधान: इसे '' ''' 'का डिफ़ॉल्ट मान दें। – Mike

+0

धन्यवाद माइक ने काम किया। – Liondedan

उत्तर

20
एक मूल्य के बजाय

, आपूर्ति null। (कोई आपूर्ति रिक्त स्ट्रिंग कर "")

यह भविष्य में काम में आ जाएगा अगर आप फार्म मॉडल बाइंडिंग (http://laravel.com/docs/html#form-model-binding) के साथ काम करने की वजह से null दिया मॉडल विशेषता के मान दे देंगे जा रहे हैं।

+1

धन्यवाद रॉब - यह कहने के लिए कभी नहीं मिला कि इस मुद्दे को ठीक किया गया है :) – Liondedan

6

आप की तरह एक खाली मूल्य "" पारित कर सकते हैं,

{{ Form::text('first_name', '', array('class' => 'first_name')) }} 

Laravel 4 की HTML Form Builder एपीआई डिफ़ॉल्ट और जो एक है options array के रूप में तीसरे पैरामीटर द्वारा जो null है name के रूप में पहले पैरामीटर, value के रूप में दूसरा पैरामीटर स्वीकार करेंगे क्योंकि डिफ़ॉल्ट रूप से empty array

तो बुनियादी तौर पर आप केवल गुजर तरह नाम से पाठ इनपुट का निर्माण कर सकते

{{ Form::text('first_name') }} 

और अगर आप विकल्प जो तीसरा तर्क है पारित करने के लिए योजना बना रहे हैं, तो आप दूसरा तर्क भी गुजरना होगा।

देखें एपीआई यहां डॉक्टर http://laravel.com/api/source-class-Illuminate.Html.FormBuilder.html#235-246

-2

मैंने पाया यह बेहतर बजाय अपने डिफ़ॉल्ट मान के लिए Input::old('first_name') का उपयोग सिर्फ "से", जैसे:

{{ Form::text('first_name', Input::old('first_name')) }}

इस तरह, यदि तुम वापस करने के लिए जाना अमान्य डेटा वाला फॉर्म और फॉर्म इनपुट पास करें, यह उस पुराने इनपुट को फिर से लोड करेगा जिसे उपयोगकर्ता ने पहले इनपुट किया था। इस मामले में, first_name आपके डेटाबेस तालिका में first_name फ़ील्ड के साथ भी बाध्य किया जा सकता है।

संपादित करें: हां, तीसरा विकल्प इनपुट विकल्प की एक सरणी है, जैसे टेक्स्ट फ़ील्ड आईडी, आकार, आदि या किसी अन्य HTML विशेषता।

किशन :)

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