erro ao guardar formulario com blocos escondidos não prenchidos

PREZADOS, TENHO UM FORM COM DUAS PAGINAS E DOIS BLOCK, E AO PRENCHER O FORM ESCONDO UM DOS BLOCOS COM O SEGUINTE CODIGO NO AJAX:

if ({rota} == “1”) {
sc_block_display(block1, off);
sc_block_display(block2, on);
} else if ({rota} == “2”) {
sc_block_display(block2, off);
sc_block_display(block1, on);
} else {
sc_block_display(block2, on);
sc_block_display(block1, on);
}

ATE AI OK , MAIS QUANDO VOU GUARDAR DA ERRO DE :

Erro ao incluir na base de dados:
Cannot add or update a child row: a foreign key constraint fails (gdocnew.sol_passagen, CONSTRAINT sol_passagen_ibfk_12 FOREIGN KEY (chegada_cidade1) REFERENCES city (ID) ON DELETE NO ACTION ON UPDATE NO ACTION);

MAS SE EU PREENCHER TODOS OS CAMPOS DE TODOS OS BLOCOS ELE GRAVA NORMALMENTE E SEM ERROS.

PODERA ALGUEM ME AJUDAR NISTO

esse e problema de arquitetura/Design de banco de dados, não no Scriptcase

entra no bd e coloca os campos referidos para aceitar nulo, assim qdo você deixar vazio, o bd não gera crítica !