質問: ### 発生している問題 レコード登録時に、int型フィールドで桁あふれが起きているのに、insertエラーとならずテーブルの対象フィールドがnullで登録される。 処理直前のSQLをログで見ると、以下のようなSQLになっている。 ``` INSERT INTO [テーブル]( [int_field],[lastupdate]) VALUES ( 2147483648,'2016-08-08T05:02:00') ``` この時、[int_field]はint型で定義されている為、本来ならinsertエラーになるはずだが、 エラーにならず、nullで登録される。 ### 実現したいこと CakePHPでInsertする際、フィールドの型に合わない値で登録しようとした場合はエラーになって欲しい。 ### 試したこと ・[int_field]の値が1小さい2147483647(intの範囲)であれば問題なく2147483647が登録される。 ・ローカルの開発環境ではエラーとなるが、サーバ環境ではエラーとならず、対象フィールドがnullで登録される。 ### 環境 Cakeバージョン:2.5.6 PHPバージョン:5.5.30 SQLサーバ:Azure SQLDatabase(ローカルはSQLサーバ2012) 以上、同じような問題が発生した方がおられましたらご教示頂ければと思います。
回答: Modelのvalidateで、ruleにrangeを指定してはいかがでしょう。