VbCrLf
(1)
InEmailAddress
(1)
IsValidEmail
(1)
VbCritical
(1)
GoTo
(1)
Len
(1)
COM.MX
(1)
ORG.ES
(1)

Email Validation

Asked By Steve Stad
27-Jan-10 11:51 AM
I was testing this email validation rule.
Is Null Or ((Like "*?@?*.com") Or (Like "*?@?*.org") Or (Like "*?@?*.net")
Or (Like "*?@?*.mil") Or (Like "*?@?*.US") And (Not Like "*[ ,;]*" And Not
Like "*.@*"))

..but noticed I was able to input .@any.com
.. e.g., I was trying to prevent user typing a .@  [that is a dot@] using
the ... And Not Like "*.@*")) .. but it must be getting cancelled out by
something previous in the validation string.  Any suggestions?

You could use a routine such as:Public Function isValidEmail(inEmailAddress As

Daniel Pineault replied to Steve Stad
27-Jan-10 07:30 PM
You could use a routine such as:

Public Function isValidEmail(inEmailAddress As String) As Boolean
On Error GoTo Error_Handler
' Author: Unknown

If (Len(inEmailAddress) = 0) Then
MsgBox "Please enter your email address."
isValidEmail = False
Exit Function
End If
If (InStr(1, inEmailAddress, "@") = 0) Then
MsgBox "The '@' is missing from your e-mail address."
isValidEmail = False
Exit Function
End If
If (InStr(1, inEmailAddress, ".") = 0) Then
MsgBox "The '.' is missing from your e-mail address."
isValidEmail = False
Exit Function
End If

If (InStr(inEmailAddress, "@.") > 0) Then
MsgBox "There is nothing between '@' and '.'"
isValidEmail = False
Exit Function
End If
If (InStr(inEmailAddress, ".@") = 1) Then
MsgBox "Your e-mail cannot start by '.@'"
isValidEmail = False
Exit Function
End If
If ((InStr(inEmailAddress, ".")) = ((Len(inEmailAddress)))) Then
MsgBox "There has to be something after the '.'"
isValidEmail = False
Exit Function
End If

If ((Len(inEmailAddress)) < (InStr(inEmailAddress, ".") + 2)) Then
MsgBox "There should be two letters after the '.'"
isValidEmail = False
Exit Function
End If

If (InStr(1, inEmailAddress, "@") = 1) Then
MsgBox "You have to have something before the '@'"
isValidEmail = False
Exit Function
End If

isValidEmail = True

Error_Handler_Exit:
On Error Resume Next
Exit Function

Error_Handler:
MsgBox "MS Access has generated the following error" & vbCrLf & vbCrLf &
Err.Number & vbCrLf & "Error Source: isValidEmail" & vbCrLf & "Error
Description: " & _
Err.Description, vbCritical, "An Error has Occured!"
Resume Error_Handler_Exit
End Function
--
Hope this helps,

Daniel Pineault
http://www.cardaconsultants.com/
For Access Tips and Examples: http://www.devhut.net
Please rate this post using the vote buttons if it was helpful.

There are way too many valid variations for a validation rule like that,e.g. .

Allen Browne replied to Steve Stad
27-Jan-10 11:50 PM
There are way too many valid variations for a validation rule like that,
e.g. .COM,  .INFO,  .NET,  .ORG,  .ME,  .MOBI,  .BIZ,  .MX,  .WS,  .NAME,
.BZ,  .COM.BZ,  .NET.BZ,  .CC,  .ES,  .COM.ES,  .NOM.ES,  .ORG.ES,  .COM.MX,
.NL, .TV, as well as lots of other country codes.

--
Allen Browne - Microsoft MVP.  Perth, Western Australia
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

Daniel,Thank you for the code sample.

Steve Stad replied to Daniel Pineault
28-Jan-10 11:05 AM
Daniel,

Thank you for the code sample.  Just wondering where (what event) to place
the code.  I would assume the AfterUpdate() event but since I am not a
programmer I need to ask.  Also, I assume I need to change 'inEmailAddress'
in the code to my field name 'EMP_EMAIL_ADDRESS'.
Post Question To EggHeadCafe