Facebook

Thursday, September 1, 2011

Codeigniter Callback Function to validate date.


function validdate($str){
    if ( ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $str) ) {
       $arr = split("-",$str);// splitting the array
       $yy = $arr[0];         //first element of the array is year
       $mm = $arr[1];         //second element is month
       $dd = $arr[2];         //third element is days
       if( checkdate($mm, $dd, $yy) ); {
          return true;
       }
   }
   else {
       $this->form_validation->set_message('validdate', 'Check format of %s field.');
       return FALSE;
   }

Monday, August 15, 2011

Code Igniter Date Validation Function

These two functions i use to validate maximum and minimum values of a date field


FUNCTION MAXDATE:
Function Name  : maxDate
Parameters     :$str,$reference,$refName

Meaning :
 $str : This variable is used to pass the variable name used to post the value to be validated
 $reference : This variable is used to pass the value of date that should be the allowable maximum date.
$refName : This variable is used to pass the name of reference, is Optional
Usage: 
Can be used in two ways
      1.   As call back function to the validation rules of Codeigniter
      Example: 
         $this->form_validation->set_rules('sessionDate['.$i.']','Date', 'trim|callback_maxDate['.$endDate.']|xss_clean');
      2.   As function Call
                  if(!maxDate('startDate','2011-06-23','End Date')){
             echo 'Satrt Date Should be Before End Date';
         }
---------------------------------------------------------------------
function maxDate($str,$reference,$refName='Reference Date'){
if ( !preg_match('/([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})/', $reference) ) {
//WRONG REFERENCE DATE FORMAT
$this->form_validation->set_message('maxDate', $refName.' is in Unknown Format');
//echo $refName.' is in Unknown Format';
return false;
}
else if ( !preg_match('/([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})/', $str) ) {
//WRONG DATE FORMAT
$this->form_validation->set_message('maxDate', 'The %s shoyuld be in "YYY-MM-DD" Format.');
//echo 'The %s shoyuld be in "YYY-MM-DD" Format.';
return false;
}
        
$arr = explode("-", $str);    // splitting the array
$yyyy = $arr[0];            // first element of the array is year
$mm = $arr[1];              // second element is month
$dd = $arr[2];              // third element is days
if( !checkdate($mm, $dd, $yyyy) ){
$this->form_validation->set_message('maxDate', 'The %s is an Invalid Date.');
//echo 'The %s is an Invalid Date.';
return false;
}
else if(strtotime($str)>strtotime($reference)){
$this->form_validation->set_message('maxDate', 'The Maximum value of %s should be '.$reference.'.');
//echo 'The Maximum value of %s should be '.$reference.'.';
return false;
}

//echo $this->form_validation->set_message('maxDate', 'The %s is an Invalid Date.');
return true;
    }
--------------------------------------------------------

Wednesday, July 6, 2011

Decimal validation using codeigniter form validation class | DSCRIPTS

Decimal validation using codeigniter form validation class | DSCRIPTS: "class MY_Form_validation extends CI_Form_validation {
 
    function decimal($value)
    {
        $CI =& get_instance();
        $CI->form_validation->set_message('decimal',
            'The %s is not a valid decimal number.');
 
        $regx = '/^[-+]?[0-9]*\.?[0-9]*$/';
        if(preg_match($regx, $value))
            return true;
        return false;
    }
}"

Tuesday, July 5, 2011

JavaScript: Avoid ajax if not necessary and store small data locally in the page itself


Avoid ajax if not necessary and store small data locally in the page itself.
Example Case:We have to custom messages or descriptions on selecting an option of dropdown.
We can use some attribute like title inside the option tag of select/ Dropdown list to store some custom values/ descriptions and can be used to display the message or text without AJAX.


Here i used the following code for storing the currency of each country in the title field of the corresponding option and will be displayed when the country is selected.
HTML CODE


<table width="100%" class="noBorder" cellpadding="0" cellspacing="0">
      <tr>
        <td>
<select name="hostCountry" onchange="showhostcurrency(this);">
            <option value="">COUNTRY</option>
            <option title="Rupees" value="1">INDIA</option>
            <option title="USD" value="1">USA</option> 
</select>
        </td>
        <td class="showCurrency">
        </td>
</tr>
</table>



function showhostcurrency(obj){
//Here the object will be passed to function which will be recieved to variable obj
//Value stored in title can be accessed as follows
     var currency=$(obj).find("option:selected").attr('title');
     if(currency!=''){
         var currency='Currency: '+currency;
     }
     $(obj).parent().parent().find('td.showCurrency').html(currency);
}

Monday, July 4, 2011

Custom Functions


I have been using PHP, Javascript, Jquery with codeignitor for the past 2 years. I used to use and make many custom functions for my productions purpose of which some are noteworthy and may be useful for others also.
I would like to share and discuss such custom functions with all PHP developers and freshers