57 if (empty($outputLang)) {
58 $this->outputLang = $langs;
60 $this->outputLang = $outputLang;
63 if (!is_object($this->outputLang) || !method_exists($this->outputLang,
'load')) {
67 $this->outputLang->loadLangs(array(
'validate',
'errors'));
90 $this->error = $errMsg;
100 public function isEmail($email, $maxLength =
false)
102 if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
103 $this->error = $this->outputLang->trans(
'RequireValidEmail');
117 if (!preg_match(
'/^[0-9]{1,10}(\.[0-9]{1,9})?$/ui', $price)) {
118 $this->error = $this->outputLang->trans(
'RequireValidValue');
132 if (!is_numeric($stamp) && (
int) $stamp == $stamp) {
133 $this->error = $this->outputLang->trans(
'RequireValidDate');
147 if (!preg_match(
'/^[+0-9. ()-]*$/ui', $phone)) {
148 $this->error = $this->outputLang->trans(
'RequireValidPhone');
163 if (strlen($string) > $length) {
164 $this->error = $this->outputLang->trans(
'RequireMaxLength', $length);
178 if (!strlen($string)) {
179 $this->error = $this->outputLang->trans(
'RequireANotEmptyValue');
194 if (strlen($string) < $length) {
195 $this->error = $this->outputLang->trans(
'RequireMinLength', $length);
209 if (!filter_var($url, FILTER_VALIDATE_URL)) {
210 $this->error = $this->outputLang->trans(
'RequireValidUrl');
224 if (!is_int($duration) && $duration >= 0) {
225 $this->error = $this->outputLang->trans(
'RequireValidDuration');
239 if (!is_numeric($string)) {
240 $this->error = $this->outputLang->trans(
'RequireValidNumeric');
254 if (!(is_null($bool) || is_bool($bool) || preg_match(
'/^[0|1]{1}$/ui', $bool))) {
255 $this->error = $this->outputLang->trans(
'RequireValidBool');
270 public function isInDb($values, $table, $col)
272 if (!is_array($values)) {
273 $value_arr = array($values);
275 $value_arr = $values;
278 if (!count($value_arr)) {
279 $this->error = $this->outputLang->trans(
'RequireValue');
283 foreach ($value_arr as $val) {
284 $sql =
"SELECT ".$col.
" FROM ".$this->db->prefix().$table.
" WHERE ".$col.
" = '".$this->db->escape($val).
"' LIMIT 1";
285 $resql = $this->db->query(
$sql);
287 $obj = $this->db->fetch_object($resql);
293 $this->error = $this->outputLang->trans(
'RequireValidExistingElement');
309 public function isFetchable($id, $classname, $classpath)
311 if (!empty($classpath)) {
313 if ($classname && class_exists($classname)) {
315 $object =
new $classname($this->db);
317 if (!is_callable(array($object,
'fetch')) || !is_callable(array($object,
'isExistingObject'))) {
318 $this->error = $this->outputLang->trans(
'BadSetupOfFieldFetchNotCallable');
322 if (!empty($object->table_element) && $object->isExistingObject($object->table_element, $id)) {
324 }
else { $this->error = $this->outputLang->trans(
'RequireValidExistingElement'); }
325 }
else { $this->error = $this->outputLang->trans(
'BadSetupOfFieldClassNotFoundForValidation'); }
326 }
else { $this->error = $this->outputLang->trans(
'BadSetupOfFieldFileNotFound'); }
327 }
else { $this->error = $this->outputLang->trans(
'BadSetupOfField'); }