Hi again. As sad i solved this problem.
Here is code of easy validation.
file: chronocontact.php
if( trim($paramsvalues->validate) == 'Yes'){
// Easy Validation //
$pattern = '/ (name=["|\'](.*?)["|\']).*?>/i';
preg_match_all($pattern, $htmlstring, $matches);
//echo '<pre>';print_r ($matches);die;
$arr_required = explode(",", str_replace(" ","",$paramsvalues->val_required));
$arr_validate_number = explode(",", str_replace(" ","",$paramsvalues->val_validate_number));
$arr_validate_digits = explode(",", str_replace(" ","",$paramsvalues->val_validate_digits));
$arr_validate_alpha = explode(",", str_replace(" ","",$paramsvalues->val_validate_alpha));
$arr_validate_alphanum = explode(",", str_replace(" ","",$paramsvalues->val_validate_alphanum));
$arr_validate_date = explode(",", str_replace(" ","",$paramsvalues->val_validate_date));
$arr_validate_email = explode(",", str_replace(" ","",$paramsvalues->val_validate_email));
$arr_validate_url = explode(",", str_replace(" ","",$paramsvalues->val_validate_url));
$arr_validate_date_au = explode(",", str_replace(" ","",$paramsvalues->val_validate_date_au));
$arr_validate_currency_dollar = explode(",", str_replace(" ","",$paramsvalues->val_validate_currency_dollar));
$arr_validate_selection = explode(",", str_replace(" ","",$paramsvalues->val_validate_selection));
$arr_validate_one_required = explode(",", str_replace(" ","",$paramsvalues->val_validate_one_required));
$arr_all = array_merge($arr_required, $arr_validate_number, $arr_validate_digits, $arr_validate_alpha, $arr_validate_alphanum, $arr_validate_date, $arr_validate_email, $arr_validate_url, $arr_validate_date_au,
$arr_validate_currency_dollar, $arr_validate_selection, $arr_validate_one_required);
$i = 0;
foreach ($matches[0] as $match)
{
$full_name = $matches[1][$i]; // with quotes and attribute 'name', for example: name="asdasd"
$name = $matches[2][$i]; // name value only
$i++;
preg_match('/'.$name.'.*? class=["|\'](.*?)["|\']/i', $match, $class_matches);
$class_array = array();
//echo '<pre>';print_r ($class_matches);die;
if ($class_matches[0]!=''){
$class_array[] = $class_matches[1];
}
else {
//nothing
}
if(in_array($name,$arr_all)){
if(in_array($name,$arr_required)){
$class_array[] = "required";
}
if(in_array($name,$arr_validate_number)){
$class_array[] = "validate-number";
}
if(in_array($name,$arr_validate_digits)){
$class_array[] = "validate-digits";
}
if(in_array($name,$arr_validate_alpha)){
$class_array[] = "validate-alpha";
}
if(in_array($name,$arr_validate_alphanum)){
$class_array[] = "validate-alphanum";
}
if(in_array($name,$arr_validate_date)){
$class_array[] = "validate-date";
}
if(in_array($name,$arr_validate_email)){
$class_array[] = "validate-email";
}
if(in_array($name,$arr_validate_url)){
$class_array[] = "validate-url";
}
if(in_array($name,$arr_validate_date_au)){
$class_array[] = "validate-date-au";
}
if(in_array($name,$arr_validate_currency_dollar)){
$class_array[] = "validate-currency-dollar";
}
if(in_array($name,$arr_validate_selection)){
$class_array[] = "validate-selection";
}
if(in_array($name,$arr_validate_one_required)){
$class_array[] = "validate-one-required";
}
$class_string = implode(" ",$class_array);
if ($class_matches[0]!='') {
$htmlstring = preg_replace('/(name=["|\']'.$name.'["|\'].*?)(class=["|\'].*?["|\'])/i','$1class="'.$class_string.'"', $htmlstring);
}
else {
$htmlstring = str_replace($full_name,$full_name.' class="'.$class_string.'"',$htmlstring);
}
}
}
$rows[0]->html = $htmlstring;
}
/// end validation //
I have a form with 139 (!!!) controls, where i specify visual classes, and all works perfectly (Note: class-attribute must be added after name-attribute)!!!
Please reply me if you will use this code with next version, otherwise i will have to inject this code everytime when new version is released.
Hope this code will useful.
P.S. and again sorry for my bad english ^_^