WIP - create validation method for common object

This commit is contained in:
ATM john 2021-06-14 21:12:48 +02:00
parent 23765bf459
commit be367c589f

View File

@ -7318,6 +7318,7 @@ abstract class CommonObject
* clear validation message result for a field * clear validation message result for a field
* *
* @param string $fieldKey Key of attribute to clear * @param string $fieldKey Key of attribute to clear
* @return null
*/ */
public function clearFieldError($fieldKey) public function clearFieldError($fieldKey)
{ {
@ -7329,6 +7330,8 @@ abstract class CommonObject
* set validation error message a field * set validation error message a field
* *
* @param string $fieldKey Key of attribute * @param string $fieldKey Key of attribute
* @param string $msg the field error message
* @return null
*/ */
public function setFieldError($fieldKey, $msg = '') public function setFieldError($fieldKey, $msg = '')
{ {
@ -7339,6 +7342,7 @@ abstract class CommonObject
* get field error message * get field error message
* *
* @param string $fieldKey Key of attribute * @param string $fieldKey Key of attribute
* @return string
*/ */
public function getFieldError($fieldKey) public function getFieldError($fieldKey)
{ {
@ -7437,8 +7441,7 @@ abstract class CommonObject
if ($required && !$validate->isNotEmptyString($fieldValue)) { if ($required && !$validate->isNotEmptyString($fieldValue)) {
$this->setFieldError($fieldKey, $validate->error); $this->setFieldError($fieldKey, $validate->error);
return false; return false;
} } elseif (!$required && !$validate->isNotEmptyString($fieldValue)) {
elseif (!$required && !$validate->isNotEmptyString($fieldValue)) {
// if no value sent and the field is not mandatory, no need to perform tests // if no value sent and the field is not mandatory, no need to perform tests
return true; return true;
} }
@ -7469,52 +7472,38 @@ abstract class CommonObject
$this->setFieldError($fieldKey, $validate->error); $this->setFieldError($fieldKey, $validate->error);
return false; return false;
} else { return true; } } else { return true; }
} } elseif (in_array($type, array('double', 'real', 'price'))) {
elseif (in_array($type, array('double', 'real', 'price')))
{
// is numeric // is numeric
if (!$validate->isDuration($fieldValue)) { if (!$validate->isDuration($fieldValue)) {
$this->setFieldError($fieldKey, $validate->error); $this->setFieldError($fieldKey, $validate->error);
return false; return false;
} else { return true; } } else { return true; }
} } elseif ($type == 'boolean') {
elseif ($type == 'boolean')
{
if (!$validate->isBool($fieldValue)) { if (!$validate->isBool($fieldValue)) {
$this->setFieldError($fieldKey, $validate->error); $this->setFieldError($fieldKey, $validate->error);
return false; return false;
} else { return true; } } else { return true; }
} } elseif ($type == 'mail') {
elseif ($type == 'mail')
{
if (!$validate->isEmail($fieldValue)) { if (!$validate->isEmail($fieldValue)) {
$this->setFieldError($fieldKey, $validate->error); $this->setFieldError($fieldKey, $validate->error);
return false; return false;
} }
} } elseif ($type == 'url') {
elseif ($type == 'url')
{
if (!$validate->isUrl($fieldValue)) { if (!$validate->isUrl($fieldValue)) {
$this->setFieldError($fieldKey, $validate->error); $this->setFieldError($fieldKey, $validate->error);
return false; return false;
} else { return true; } } else { return true; }
} } elseif ($type == 'phone') {
elseif ($type == 'phone')
{
if (!$validate->isPhone($fieldValue)) { if (!$validate->isPhone($fieldValue)) {
$this->setFieldError($fieldKey, $validate->error); $this->setFieldError($fieldKey, $validate->error);
return false; return false;
} else { return true; } } else { return true; }
} } elseif ($type == 'select' || $type == 'radio') {
elseif ($type == 'select' || $type == 'radio')
{
if (!isset($param['options'][$fieldValue])) { if (!isset($param['options'][$fieldValue])) {
$this->error = $langs->trans('RequireValidValue'); $this->error = $langs->trans('RequireValidValue');
return false; return false;
} else { return true; } } else { return true; }
} } elseif ($type == 'sellist' || $type == 'chkbxlst') {
elseif ($type == 'sellist' || $type == 'chkbxlst')
{
$param_list = array_keys($param['options']); $param_list = array_keys($param['options']);
$InfoFieldList = explode(":", $param_list[0]); $InfoFieldList = explode(":", $param_list[0]);
$value_arr = explode(',', $fieldValue); $value_arr = explode(',', $fieldValue);
@ -7529,9 +7518,7 @@ abstract class CommonObject
$this->setFieldError($fieldKey, $validate->error); $this->setFieldError($fieldKey, $validate->error);
return false; return false;
} else { return true; } } else { return true; }
} } elseif ($type == 'link') {
elseif ($type == 'link')
{
$param_list = array_keys($param['options']); // $param_list='ObjectName:classPath' $param_list = array_keys($param['options']); // $param_list='ObjectName:classPath'
$InfoFieldList = explode(":", $param_list[0]); $InfoFieldList = explode(":", $param_list[0]);
$classname = $InfoFieldList[0]; $classname = $InfoFieldList[0];