summaryrefslogtreecommitdiff
path: root/program/include/rcube_contacts.php
diff options
context:
space:
mode:
Diffstat (limited to 'program/include/rcube_contacts.php')
-rw-r--r--program/include/rcube_contacts.php22
1 files changed, 22 insertions, 0 deletions
diff --git a/program/include/rcube_contacts.php b/program/include/rcube_contacts.php
index 4a4c1e27e..9ad4f17bb 100644
--- a/program/include/rcube_contacts.php
+++ b/program/include/rcube_contacts.php
@@ -396,6 +396,28 @@ class rcube_contacts extends rcube_addressbook
/**
+ * Check the given data before saving.
+ * If input not valid, the message to display can be fetched using get_error()
+ *
+ * @param array Assoziative array with data to save
+ * @return boolean True if input is valid, False if not.
+ */
+ public function validate($save_data)
+ {
+ // check for name input
+ $valid = parent::validate($save_data);
+
+ // require at least one e-mail address (syntax check is done later in save.inc)
+ if ($valid && !array_filter($this->get_col_values('email', $save_data, true))) {
+ $this->set_error('warning', 'noemailwarning');
+ $valid = false;
+ }
+
+ return $valid;
+ }
+
+
+ /**
* Create a new contact record
*
* @param array Associative array with save data