summaryrefslogtreecommitdiff
path: root/FS/FS
diff options
context:
space:
mode:
authorMitch Jackson <mitch@freeside.biz>2018-11-28 15:16:32 -0500
committerMitch Jackson <mitch@freeside.biz>2018-11-28 15:27:24 -0500
commit940889971fcc8c9d4eb612e273acbb6ae0c562a2 (patch)
tree492a3ec0b9f4ad2b392352b723fa695bb5d37d5b /FS/FS
parent01bf59988d1e8617a422dcd564a87582ed75a7ed (diff)
RT# 76309 E-Mail validation methods
Diffstat (limited to 'FS/FS')
-rw-r--r--FS/FS/Record.pm31
1 files changed, 31 insertions, 0 deletions
diff --git a/FS/FS/Record.pm b/FS/FS/Record.pm
index 9eb1c9a..b24b69e 100644
--- a/FS/FS/Record.pm
+++ b/FS/FS/Record.pm
@@ -25,6 +25,7 @@ use FS::Schema qw(dbdef);
use FS::SearchCache;
use FS::Msgcat qw(gettext);
#use FS::Conf; #dependency loop bs, in install_callback below instead
+use Email::Valid;
use FS::part_virtual_field;
@@ -3364,6 +3365,36 @@ sub ut_agentnum_acl {
}
+
+=item ut_email COLUMN
+
+Check column contains a valid E-Mail address
+
+=cut
+
+sub ut_email {
+ my ( $self, $field ) = @_;
+ Email::Valid->address( $self->getfield( $field ) )
+ ? ''
+ : "Illegal (email) field $field: ". $self->getfield( $field );
+}
+
+=item ut_emailn COLUMN
+
+Check column contains a valid E-Mail address
+
+May be null
+
+=cut
+
+sub ut_emailn {
+ my ( $self, $field ) = @_;
+
+ $self->getfield( $field ) =~ /^$/
+ ? $self->getfield( $field, '' )
+ : $self->ut_email( $field );
+}
+
=item trim_whitespace FIELD[, FIELD ... ]
Strip leading and trailing spaces from the value in the named FIELD(s).