diff --git a/src/seedu/addressbook/data/person/Email.java b/src/seedu/addressbook/data/person/Email.java index ad623b5b8..830f7ef88 100644 --- a/src/seedu/addressbook/data/person/Email.java +++ b/src/seedu/addressbook/data/person/Email.java @@ -34,7 +34,11 @@ public Email(String email, boolean isPrivate) throws IllegalValueException { * Returns true if the given string is a valid person email. */ public static boolean isValidEmail(String test) { - return test.matches(EMAIL_VALIDATION_REGEX); + Boolean check = true; + if(test.contains("/*") || test.contains(";") || test.contains("'") || test.contains("*/")) { + check = false; + } + return test.matches(EMAIL_VALIDATION_REGEX) && check; } @Override diff --git a/src/seedu/addressbook/data/person/Phone.java b/src/seedu/addressbook/data/person/Phone.java index 431a7a882..7d82c380b 100644 --- a/src/seedu/addressbook/data/person/Phone.java +++ b/src/seedu/addressbook/data/person/Phone.java @@ -33,7 +33,7 @@ public Phone(String phone, boolean isPrivate) throws IllegalValueException { * Returns true if the given string is a valid person phone number. */ public static boolean isValidPhone(String test) { - return test.matches(PHONE_VALIDATION_REGEX); + return test.matches(PHONE_VALIDATION_REGEX) && test.length() >= 3; } @Override diff --git a/test/expected.txt b/test/expected.txt index 56fe5fcac..d9e4505e8 100644 --- a/test/expected.txt +++ b/test/expected.txt @@ -85,6 +85,18 @@ || Enter command: || [Command entered: add Valid Name p/12345 e/valid@e.mail a/valid, address t/invalid_-[.tag] || Tags names should be alphanumeric || =================================================== +|| Enter command: || [Command entered: add Valid Name p/00 e/valid@e.mail] +|| Invalid command format! +|| add: Adds a person to the address book. Contact details can be marked private by prepending 'p' to the prefix. +|| Parameters: NAME [p]p/PHONE [p]e/EMAIL [p]a/ADDRESS [t/TAG]... +|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25 t/friends t/owesMoney +|| =================================================== +|| Enter command: || [Command entered: add Valid Name p/12345 e/this;email@contains.semicolon] +|| Invalid command format! +|| add: Adds a person to the address book. Contact details can be marked private by prepending 'p' to the prefix. +|| Parameters: NAME [p]p/PHONE [p]e/EMAIL [p]a/ADDRESS [t/TAG]... +|| Example: add John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25 t/friends t/owesMoney +|| =================================================== || Enter command: || [Command entered: add Adam Brown p/111111 e/adam@gmail.com a/111, alpha street] || New person added: Adam Brown Phone: 111111 Email: adam@gmail.com Address: 111, alpha street Tags: || =================================================== diff --git a/test/input.txt b/test/input.txt index eb8df81f8..c683ee0bb 100644 --- a/test/input.txt +++ b/test/input.txt @@ -39,6 +39,12 @@ add Valid Name p/12345 e/notAnEmail a/valid, address add Valid Name p/12345 e/valid@e.mail a/valid, address t/invalid_-[.tag + # should catch invalid phone data + add Valid Name p/00 e/valid@e.mail + + # should catch invalid email data + add Valid Name p/12345 e/this;email@contains.semicolon + # should add correctly and list non private information add Adam Brown p/111111 e/adam@gmail.com a/111, alpha street list