入力画面で文字数の上限を決めるとき、特に指定がなければ、テキスト型だと255文字、ID型だと18文字...という感じで最大文字数が決まっています。今まで必要になることがなかったので意識していませんでしたが、電話とメールの最大文字数についての記載が見当たりませんでした。
なんとなく255文字かなと思ったのですが、Twitterで教えてもらえた情報によると80文字までとなっていたみたいです。
まずはメールアドレスです。80文字のサンプルアドレスを用意しました。
samplexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@example.com
これは問題なく登録できます。続いて1文字追加した81文字のサンプルアドレスをコピペで入力します。
sample2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@example.com
すると次のように上限を超えた部分が自動で除外されました。
Apexから強引に登録するとどうなるかも確認してみました。きちんとExceptionエラーで弾かれるみたいです。
電話型の場合は40文字が最大となっていました。
090-000-111111111111111111111111111111111
FAX型も40文字でした。
ここまで確認して気づいたのですが、AppExchangeに公開されているテーブル設定取得で項目定義見れば全部確認できました。
標準の項目定義には記載がありませんが、ちゃんと上限が決まっていて保存できないようになっていました。
追記
あと今まであまり気にする必要がありませんでしたが、カスタムオブジェクトのName項目は80文字までですが、標準のName項目はオブジェクトによって違ったみたいです。