Check if an required extrafield is filled.

Method setOptionalsFromPost now return -1 if required field is blank
This commit is contained in:
jfefe 2013-07-26 10:46:45 +02:00
parent 0dc7aa15d9
commit c431fc716f

View File

@ -894,7 +894,9 @@ class ExtraFields
*/ */
function setOptionalsFromPost($extralabels,&$object) function setOptionalsFromPost($extralabels,&$object)
{ {
global $_POST; global $_POST, $langs;
$nofillrequired='';// For error when required field left blank
$error_field_required = array();
if (is_array($extralabels)) if (is_array($extralabels))
{ {
@ -903,6 +905,12 @@ class ExtraFields
{ {
$key_type = $this->attribute_type[$key]; $key_type = $this->attribute_type[$key];
if($this->attribute_required[$key] && !GETPOST($value))
{
$nofillrequired++;
$error_field_required[] = $value;
}
if (in_array($key_type,array('date','datetime'))) if (in_array($key_type,array('date','datetime')))
{ {
// Clean parameters // Clean parameters
@ -929,7 +937,14 @@ class ExtraFields
$object->array_options["options_".$key]=$value_key; $object->array_options["options_".$key]=$value_key;
} }
return 1; if($nofillrequired) {
$langs->load('errors');
setEventMessage($langs->trans('ErrorFieldsRequired').' : '.implode(', ',$error_field_required),'errors');
return -1;
}
else {
return 1;
}
} }
else { else {
return 0; return 0;