@@ -57,15 +57,33 @@ export default class MajorProjectForm {
5757 skills . push ( tag . textContent ) ;
5858 }
5959
60+ let projectName = this . form . querySelector ( 'input[name=name]' ) . value ;
61+ let projectTldr = this . form . querySelector ( 'input[name=tldr]' ) . value ;
62+ let projectTimeSpent = this . form . querySelector ( 'textarea[name=time-commitment]' ) . value ;
63+ let projectDescription = this . form . querySelector ( 'textarea[name=description]' ) . value ;
64+ let projectLinks = this . form . querySelector ( 'textarea[name=links]' ) . value ;
65+
66+ // For each field, if it is not empty, trim it.
67+ if ( projectName !== "" ) projectName = projectName . trim ( ) ;
68+ if ( projectTldr !== "" ) projectTldr = projectTldr . trim ( ) ;
69+ if ( projectTimeSpent !== "" ) projectTimeSpent = projectTimeSpent . trim ( ) ;
70+ if ( projectDescription !== "" ) projectDescription = projectDescription . trim ( ) ;
71+
72+ if ( ! projectName || ! projectTldr || ! projectTimeSpent || ! projectDescription || skills . length === 0 ) {
73+ alert ( "Error: At least one required field is empty. \n\nProject Name, TLDR, Time Commitment, Description, and at least one skill are required." ) ;
74+ return ;
75+ }
76+
6077 let payload = {
61- projectName : this . form . querySelector ( 'input[name=name]' ) . value ,
62- projectTldr : this . form . querySelector ( 'input[name=tldr]' ) . value ,
63- projectTimeSpent : this . form . querySelector ( 'textarea[name=time-commitment]' ) . value ,
78+ projectName : projectName ,
79+ projectTldr : projectTldr ,
80+ projectTimeSpent : projectTimeSpent ,
6481 projectSkills : skills ,
65- projectDescription : this . form . querySelector ( 'textarea[name=description]' ) . value ,
66- projectLinks : this . form . querySelector ( 'textarea[name=links]' ) . value
82+ projectDescription : projectDescription ,
83+ projectLinks : projectLinks
6784 } ;
6885
86+
6987 console . log ( payload )
7088
7189 FetchUtil . postWithWarning ( this . endpoint , payload , {
0 commit comments