@@ -523,27 +523,41 @@ const sampleProjects = [
523523 alert ( "Please fill in all fields." ) ;
524524 return false ;
525525 }
526+ if ( name . length < 4 ) {
527+ alert ( "First Name must be at least 4 letters." ) ;
528+ return false ;
529+ }
530+ if ( lastname . length < 4 ) {
531+ alert ( "Last Name must be at least 4 letters." ) ;
532+ return false ;
533+ }
526534 const emailPattern = / ^ [ ^ ] + @ [ ^ ] + \. [ a - z ] { 2 , 3 } $ / ;
527535 if ( ! email . match ( emailPattern ) ) {
528536 alert ( "Please enter a valid email." ) ;
529537 return false ;
530538 }
539+ // Message must have at least 3 words
540+ const wordCount = message . split ( / \s + / ) . filter ( Boolean ) . length ;
541+ if ( wordCount < 3 ) {
542+ alert ( "Message must be at least 3 words." ) ;
543+ return false ;
544+ }
531545
532- // Show the overlay
533- const overlay = document . getElementById ( "message-overlay" ) ;
534- overlay . style . opacity = "1" ;
535- overlay . style . pointerEvents = "auto" ;
546+ // Show the overlay
547+ const overlay = document . getElementById ( "message-overlay" ) ;
548+ overlay . style . opacity = "1" ;
549+ overlay . style . pointerEvents = "auto" ;
536550
537- // Hide the overlay after 3 seconds
538- setTimeout ( ( ) => {
539- overlay . style . opacity = "0" ;
540- overlay . style . pointerEvents = "none" ;
541- } , 3000 ) ;
551+ // Hide the overlay after 3 seconds
552+ setTimeout ( ( ) => {
553+ overlay . style . opacity = "0" ;
554+ overlay . style . pointerEvents = "none" ;
555+ } , 3000 ) ;
542556
543- // Clear form
544- document . getElementById ( "contact-form" ) . reset ( ) ;
557+ // Clear form
558+ document . getElementById ( "contact-form" ) . reset ( ) ;
545559
546- return false ; // Prevent actual form submission
560+ return false ; // Prevent actual form submission
547561 }
548562
549563 const toggle = document . getElementById ( 'darkModeToggle' ) ;
0 commit comments