Last change
on this file since 77b2536 was 77b2536, checked in by ManuelTrajcev <manueltrajcev7@…>, 2 weeks ago |
email validation
|
-
Property mode
set to
100644
|
File size:
467 bytes
|
Line | |
---|
1 | CREATE OR REPLACE FUNCTION normalize_and_validate_customer_email()
|
---|
2 | RETURNS TRIGGER AS $$
|
---|
3 | BEGIN
|
---|
4 | NEW.email := LOWER(NEW.email);
|
---|
5 |
|
---|
6 | IF NEW.email !~* '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$' THEN
|
---|
7 | RAISE EXCEPTION 'Invalid email format: %', NEW.email;
|
---|
8 | END IF;
|
---|
9 |
|
---|
10 | RETURN NEW;
|
---|
11 | END;
|
---|
12 | $$ LANGUAGE plpgsql;
|
---|
13 |
|
---|
14 | CREATE TRIGGER trg_normalize_validate_email
|
---|
15 | BEFORE INSERT ON customer
|
---|
16 | FOR EACH ROW
|
---|
17 | EXECUTE FUNCTION normalize_and_validate_customer_email();
|
---|
Note:
See
TracBrowser
for help on using the repository browser.