@@ -360,27 +360,41 @@ const sampleProjects = [
360360 alert ( "Please fill in all fields." ) ;
361361 return false ;
362362 }
363+ if ( name . length < 4 ) {
364+ alert ( "First Name must be at least 4 letters." ) ;
365+ return false ;
366+ }
367+ if ( lastname . length < 4 ) {
368+ alert ( "Last Name must be at least 4 letters." ) ;
369+ return false ;
370+ }
363371 const emailPattern = / ^ [ ^ ] + @ [ ^ ] + \. [ a - z ] { 2 , 3 } $ / ;
364372 if ( ! email . match ( emailPattern ) ) {
365373 alert ( "Please enter a valid email." ) ;
366374 return false ;
367375 }
376+ // Message must have at least 3 words
377+ const wordCount = message . split ( / \s + / ) . filter ( Boolean ) . length ;
378+ if ( wordCount < 3 ) {
379+ alert ( "Message must be at least 3 words." ) ;
380+ return false ;
381+ }
368382
369- // Show the overlay
370- const overlay = document . getElementById ( "message-overlay" ) ;
371- overlay . style . opacity = "1" ;
372- overlay . style . pointerEvents = "auto" ;
383+ // Show the overlay
384+ const overlay = document . getElementById ( "message-overlay" ) ;
385+ overlay . style . opacity = "1" ;
386+ overlay . style . pointerEvents = "auto" ;
373387
374- // Hide the overlay after 3 seconds
375- setTimeout ( ( ) => {
376- overlay . style . opacity = "0" ;
377- overlay . style . pointerEvents = "none" ;
378- } , 3000 ) ;
388+ // Hide the overlay after 3 seconds
389+ setTimeout ( ( ) => {
390+ overlay . style . opacity = "0" ;
391+ overlay . style . pointerEvents = "none" ;
392+ } , 3000 ) ;
379393
380- // Clear form
381- document . getElementById ( "contact-form" ) . reset ( ) ;
394+ // Clear form
395+ document . getElementById ( "contact-form" ) . reset ( ) ;
382396
383- return false ; // Prevent actual form submission
397+ return false ; // Prevent actual form submission
384398 }
385399
386400 const toggle = document . getElementById ( 'darkModeToggle' ) ;
0 commit comments