Fatti

La controversia oppone [K.], un architetto, e [S.], un agricoltore. Nel marzo 1990, [K.] ha appreso che [S.] stava per trasferire la sua azienda agricola e vendere la sua proprietà. [K.] ha offerto 1'200'000 franchi per la proprietà e si è interessato ai lavori di architettura legati al progetto di trasferimento. Le parti hanno convenuto che [K.] potesse acquistare la proprietà, terreni agricoli e foreste. Un contratto di vendita è stato firmato l'11 giugno 1990 per i terreni agricoli e le foreste, ma il dipartimento dell'agricoltura ha opposto il suo veto alla vendita della proprietà.

Le parti hanno successivamente concluso un contratto preliminare per la proprietà, ma [K.] ha rifiutato di firmarlo e ha esigito che [S.] riprendesse i terreni agricoli e le foreste. [S.] ha rifiutato e ha intentato un'azione legale per ottenere il pagamento del prezzo di vendita. Il tribunale di prima istanza ha dato ragione a [K.], ma la corte d'appello ha annullato questa decisione e ha concesso un'esecuzione forzata per il pagamento del prezzo di vendita.

Legge

Il Tribunale federale ha esaminato se il contratto di vendita era valido nonostante l'errore sui motivi invocato da K. L'articolo 24 alinea 1 numero 4 del Codice delle obbligazioni (CO) prevede che l'errore sui motivi può comportare l'invalidità del contratto se è essenziale. L'articolo 25 alinea 1 CO specifica che l'invalidità non può essere invocata se non è contraria alle regole della buona fede.

Il Tribunale federale ha considerato che l'errore sui motivi invocato da [K.] era essenziale, ma che l'invalidità del contratto non poteva essere invocata se non era contraria alle regole della buona fede. Il Tribunale ha esaminato se la decisione di [K.] di rifiutare di firmare il contratto preliminare e di esigere che [S.] riprendesse i terreni agricoli e le foreste era contraria alle regole della buona fede.

Il…