挙げられたコードと「必須化を解除」という言い回しから察するに, 何も考えずコピー&ペーストしていませんか?
既存のコードを参考にすることは慣れた人でもあります.
が, 既存コードは読んで「何をしているのか」を理解した上で参考にするものです.
本来なら1行1行, 何をしているのかを理解したいところですが,
上に挙げられたうち, 特に「必須化の解除」とやらは,
1行1行見なくてもざっと見ただけで修正点に見当がつくレベルのものです.
流し読みでもいいので, まずコードを読んでください.
そして試しに思い付く限りの対応をしてください.
試した内容はどこかにメモしておきましょう.
それでも修正できなければ「何を試したか」を添えて質問し直してください.
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。