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)
{
global $_POST;
global $_POST, $langs;
$nofillrequired='';// For error when required field left blank
$error_field_required = array();
if (is_array($extralabels))
{
@ -903,6 +905,12 @@ class ExtraFields
{
$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')))
{
// Clean parameters
@ -929,7 +937,14 @@ class ExtraFields
$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 {
return 0;