2012-02-06 14 views
9

कोडनिर्देशक फॉर्म सत्यापन का उपयोग करते समय, अल्फा रिक्त स्थान की अनुमति देता है? पूर्व। "बॉब स्मिथ"कोडनिर्देशक फॉर्म सत्यापन। अल्फा और रिक्त स्थान

+0

क्या आपने इसका परीक्षण किया? [डॉक्स] के अनुसार (http://codeigniter.com/user_guide/libraries/form_validation.html#rulereference), यह सिर्फ "वर्णमाला वर्ण" है, इसलिए कोई स्थान नहीं है। –

+0

yups, यह अंतरिक्ष की अनुमति नहीं देता है, लेकिन आप इसे जांचने के लिए कॉलबैक फ़ंक्शन बना सकते हैं। इस साइट को विस्तार से देखें, [http://nanamo3lyana.blogspot.com/2012/06/simple-function-to-validate-alpha.html ](http://nanamo3lyana.blogspot.com/2012/06/simple- function-to-validate-alpha.html) – mo3lyana

उत्तर

15

यहाँ एक कोड है कि आपकी समस्या का समाधान करना चाहिए:

किसी की अनुमति देता है कि कि हालांकि एक पुस्तकालय विस्तार लिखा

function alpha_dash_space($str) 
{ 
    return (! preg_match("/^([-a-z_ ])+$/i", $str)) ? FALSE : TRUE; 
} 

नियमों में, आप इसे पसंद कॉल कर सकते हैं इस प्रकार है:

$this->form_validation->set_rules('name', 'Name', trim|xss_clean|callback_alpha_dash_space'); 

संपादित करें

कॉलबैक से एक अतिरिक्त _ हटाया गया k_alpha_dash_space

+0

बस थोड़ा सा पक्ष नोट: सीआई 2.1.4 केवल कॉलबैक के रूप में सत्यापन फ़ंक्शन सेट करते समय एक अंडरस्कोर लेता है (यानी 'callback_alpha_dash_space')। – a7omiton

+0

मैंने इसका इस्तेमाल किया और यह संख्याओं को भी अनुमति देता है ... अगर मैं डैश को अनुमति नहीं देना चाहता था तो उसे अल्फा केवल – Robin

+0

तक सीमित कर देना चाहिए था, तो नियमित अभिव्यक्ति '/^([a-z_]) + $/i' ? –

1

आप

$field = trim($_POST['field']); 
$_POST['field'] = str_replace(' ', '', $_POST['field']); 

का उपयोग करें और शासन में अल्फा के रूप में यह जांच कर सकते हैं, तो आप सफल सत्यापन के बाद $ फ़ील्ड का उपयोग कर सकते हैं।

$this->form_validation->set_rules('field', 'FIELD', 'alpha'); 
5

मुझे पता है कि मुझे इसका उत्तर देने में देर हो चुकी है। लेकिन जो अभी भी कैसे सिर्फ पत्र और सफेद रिक्त स्थान की अनुमति के लिए पर एक जवाब के लिए देख रहे लोगों के लिए, तो आप इस का पालन कर सकते हैं:

फ़ॉर्म सत्यापन में

$this->form_validation->set_rules('fullname', 'Fullname', 'min_length[7]|trim|required|xss_clean|callback_alpha_dash_space'); 

फिर alpha_dash_space के लिए एक कॉलबैक फ़ंक्शन जोड़ने

function alpha_dash_space($fullname){ 
    if (! preg_match('/^[a-zA-Z\s]+$/', $fullname)) { 
     $this->form_validation->set_message('alpha_dash_space', 'The %s field may only contain alpha characters & White spaces'); 
     return FALSE; 
    } else { 
     return TRUE; 
    } 
} 
  • ^ और $ टी बताता है टोपी यह शुरुआत और स्ट्रिंग
  • a-z छोटे अक्षरों हैं का अंत है, A-Z बड़े अक्षरों हैं
  • \s खाली स्थान के है और + का मतलब है 1 या अधिक बार।

आशा है कि इससे मदद मिलेगी!

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