chiangqinkang / pe

0 stars 0 forks source link

Valid emails are not accepted when adding users #2

Open chiangqinkang opened 2 weeks ago

chiangqinkang commented 2 weeks ago

Steps to reproduce:

  1. add n/john tan s/m r/student p/98765432 e/john..d@example.com a/Johnstreet, block 123, #01-01
  2. Notice that error message occurs Bug inherited from AB3 Screenshot 2024-11-15 at 4.16.19 PM.png
nus-se-script commented 1 week ago

Team's Response

Thank you for raising the concern regarding consecutive dots in email addresses.

However, as per RFC 5322, Section 3.4.1, the "local-part" of an email address explicitly disallows consecutive dots. The RFC defines the "dot-atom" format, which only permits a single dot to act as a separator. This means email addresses with two consecutive dots (e.g., "john..doe@example.com") are considered invalid because the standard strictly prohibits multiple consecutive dots in the local part of the address. As per section 3.4.1 of RFC 5322 specifies that a dot atom "contains no characters other than atext characters or "." surrounded by atext characters". Hence, by definition, a dot atom should not contain more than one consecutive periods [p2].

Our application adheres to this industry-standard rule to ensure email addresses are properly validated and compatible with other systems. While we do allow a single dot and other valid separators, consecutive dots are intentionally disallowed in line with the RFC to avoid potential validation errors. As shown in the example below [P1], a single dot is valid as a separator in email addresses.

If you have any further questions or concerns, please don't hesitate to reach out!

Our program allows adding emails with one dot, which is a valid email format, please see the outcome of adding it below:

[P1] image.png

[P2] image.png

Items for the Tester to Verify

:question: Issue response

Team chose [response.NotInScope]

Reason for disagreement: [replace this with your explanation]


## :question: Issue severity Team chose [`severity.Low`] Originally [`severity.Medium`] - [ ] I disagree **Reason for disagreement:** [replace this with your explanation]