@@ -61,13 +61,15 @@ function validateField(value, field) {
6161// Validate incoming data against schema rules
6262// Returns { error } or { cleanData }
6363function validateData ( incomingData , schemaRules ) {
64- const cleanData = { } ;
64+ const cleanData = { ... incomingData } ; // Start with all data
6565 for ( const field of schemaRules ) {
6666 const value = incomingData [ field . key ] ;
6767
6868 const error = validateField ( value , field ) ;
6969 if ( error ) return { error } ;
7070
71+ // Ensure defined fields are present if required (handled by validateField)
72+ // cleanData already has it, but we can be explicit
7173 if ( value !== undefined ) {
7274 cleanData [ field . key ] = value ;
7375 }
@@ -77,10 +79,10 @@ function validateData(incomingData, schemaRules) {
7779
7880// Validate partial update data (non-required fields can be missing)
7981function validateUpdateData ( incomingData , schemaRules ) {
80- const updateData = { } ;
82+ const updateData = { ... incomingData } ; // Start with all data
8183 for ( const key in incomingData ) {
8284 const fieldRule = schemaRules . find ( f => f . key === key ) ;
83- if ( ! fieldRule ) continue ;
85+ if ( ! fieldRule ) continue ; // Allow extra fields
8486
8587 const value = incomingData [ key ] ;
8688 // For updates, don't enforce 'required' — only validate type
0 commit comments