2012-06-30 14 views
5

में फार्म सत्यापन त्रुटियों को अनुकूलित करने के वहाँ CodeIgniter में एक फ़ाइल जिसमें मैं सिर्फ इतना है कि मैं फार्म सत्यापन संदेश अनुकूलित कर सकते हैं तो संपादित कर सकता है?कैसे CodeIgniter

enter image description here

मैं सिर्फ उन्हें एक बुलेटेड सूची में जगह कम जगह का उपभोग करना चाहते हैं।

<div class="alert <?php echo $alert['alert_type']; ?> min-form"> 
     <button type="button" class="close" data-dismiss="alert">x</button> 
     <h4><?php echo $alert['main_message']; ?></h4> 
     <?php echo $alert['sub_message']; ?> 
</div> 

मूल रूप से $alert['sub_message'] बस जो एक रूप से सत्यापन त्रुटियों आउटपुट CodeIgniter से validation_errors() समारोह से अपने डेटा हो रही है:

यहाँ कोड है कि मैं उत्पादन के लिए त्रुटि संदेश का उपयोग कर रहा है। application/libraries/MY_form_validation.php बनाकर http://ellislab.com/codeigniter/user-guide/librarie/form_validation.html#errordelimiters

+0

यदि नहीं पहले से ही मैं एक क्लाइंट-साइड सुझाव देंगे, तो तुम इस प्रकार ul या ol जोड़ने की आवश्यकता होगी सत्यापन परत भी, इसलिए कोडइग्निटर परत केवल तभी देखी जाती है जब वे किसी भी तरह से फॉर्म सबमिट करने में सक्षम हों। –

+0

इसके अलावा, मैं सीआई दस्तावेज़ों से परामर्श लेता हूं: [कॉलबैक: आपका स्वयं का सत्यापन कार्य] (http://codeigniter.com/user_guide/libraries/form_validation.html#callbacks)। –

+0

@ जेरेडफिशिश धन्यवाद मेरे पास लाइव वैलिडेशन का उपयोग कर क्लाइंट साइड सत्यापन पहले से ही है http://livevalidation.com/ –

उत्तर

8

आप अधिकतम नियंत्रण के लिए form_validation वर्ग का विस्तार कर सकते अतिरिक्त सत्यापन नियमों जोड़ने के लिए - मैंने संलग्न किया है:

10

आप इस तरह से करने में त्रुटि सीमांकक बदलने कर सकते हैं:

<ul> 
<?php echo validation_errors('<li>', '</li>'); ?> 
</ul> 

डॉक्स नीचे एक उदाहरण।

सिस्टम पुस्तकालयों को सीधे संपादित करने के लिए यह बुरा अभ्यास है; सीआई बेहतर विकल्प (ओवरराइड/अनुकूलन MY_ कक्षाएं, libraries, hooks, आदि के माध्यम से) प्रदान करता है। यह आप आसानी से उन्नयन सीआई संस्करणों के लाभ & आपके आवेदन पोर्टेबल/कस्टम कोर ढांचे से अलग कोड रहता है देता है।

<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); 

/** 
* CodeIgniter Form Validation Extension 
*/ 
class MY_Form_validation extends CI_Form_validation { 

    /** 
    * MY_Form_validation::valid_url 
    * @abstract Ensures a string is a valid URL 
    */ 
    function valid_url($url) { 
     if(preg_match("/^http(|s):\/{2}(.*)\.([a-z]){2,}(|\/)(.*)$/i", $url)) { 
      if(filter_var($url, FILTER_VALIDATE_URL)) return TRUE; 
     } 
     $this->CI->form_validation->set_message('valid_url', 'The %s must be a valid URL.'); 
     return FALSE; 
    } 

    /** 
    * MY_Form_validation::alpha_extra() 
    * @abstract Alpha-numeric with periods, underscores, spaces and dashes 
    */ 
    function alpha_extra($str) { 
     $this->CI->form_validation->set_message('alpha_extra', 'The %s may only contain alpha-numeric characters, spaces, periods, underscores & dashes.'); 
     return (! preg_match("/^([\.\s-a-z0-9_-])+$/i", $str)) ? FALSE : TRUE; 
    } 

    /** 
    * MY_Form_validation::numeric_comma() 
    * @abstract Numeric and commas characters 
    */ 
    function numeric_comma($str) { 
     $this->CI->form_validation->set_message('numeric_comma', 'The %s may only contain numeric & comma characters.'); 
     return (! preg_match("/^(\d+,)*\d+$/", $str)) ? FALSE : TRUE; 
    } 

    /** 
    * MY_Form_validation::matches_pattern() 
    * @abstract Ensures a string matches a basic pattern 
    */ 
    function matches_pattern($str, $pattern) { 
     if (preg_match('/^' . $pattern . '$/', $str)) return TRUE; 
     $this->CI->form_validation->set_message('matches_pattern', 'The %s field does not match the required pattern.'); 
     return FALSE; 
    } 

} 

/* End of file MY_form_validation.php */ 
/* Location: ./{APPLICATION}/libraries/MY_form_validation.php */ 
0

प्रणाली पर एक नजर डालें/भाषा/अंग्रेजी/form_validation_lang.php

मेरा मानना ​​है कि आप या तो इसे संपादित कर सकते हैं, या आवेदन करने के लिए इसे कॉपी/भाषा/अंग्रेजी/form_validation_lang.php

+0

इसे विस्तारित करना उचित है लेकिन 'सिस्टम /' संपादित करना नो-नो है;) – sekati

+0

हमारे पास एक ही फ़ाइल की प्रतिलिपि 'एप्लिकेशन/भाषा/अंग्रेजी/form_validation_lang.php' (आवेदकॉइन के भाषा फ़ोल्डर) में हो सकती है और हम कोई अनुकूलन करते हैं चाहते हैं – masterFly

-8

में

ASPxClientEdit.ValidateGroup(null); 

या

: आदेश जावास्क्रिप्ट का उपयोग कर पृष्ठ में DevExpress नियंत्रण मान्य करने के लिए, निम्नलिखित कोड का उपयोग
ASPxClientEdit.ValidateGroup('validationgroup'); 
2

आप व्यक्तिगत रूप से त्रुटियों प्रदर्शित करने के लिए <?php echo form_error('field name', '<div class="error">', '</div>'); ?> उपयोग कर सकते हैं। तुरंत पर्चा मान्यकरण वर्ग लोड करने के बाद

$this->form_validation->set_error_delimiters('<li>', '</li>'); 

आप इस करना चाहिए:

Documentation

2

आप CodeIgniter के set_error_delimiters फ़ंक्शन का उपयोग करके <li> करने के लिए <div> से सीमांकक बदल सकते हैं।

यह validation_errors()औरform_error('field_name') प्रदर्शित किया जाएगा।, बस अगर आप बूटस्ट्रैप के साथ चाहते हैं

echo '<ul>' . validation_errors() . '</ul>'; 
1

ऊपर जवाब के रूप में ही:

<ul> 
<?php echo validation_errors('<li><span class="label label-danger">', '</span></li>'); ?> 
</ul>