ServiceNow のフィールドが max_length 値を超える文字列入力を受け入れる理由Issue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } ServiceNow のフィールドが Dictionary [sys_dictionary] テーブルで定義されている max_length 値を超える文字列入力を受け入れる理由と、プラットフォームが文字列フィールドのストレージを処理する方法について説明します。 Now Platform では最大長は適用されない 新しい文字列フィールドを定義するために Dictionary [sys_dictionary] レコードを作成する場合、max_length 属性は必須です。input タグまたは textarea タグに対する HTML の maxlength 属性と似ていますが、この値はクライアントまたはサーバーで文字数制限として適用されません。これはプラットフォームの想定される動作です。 文字列フィールドのデータ型が決定される仕組み 文字列フィールドを作成すると、基盤となるデータベース列は、指定された max_length 値に部分的に基づくデータ型で作成されます。 ・Small (40): varchar(40) ・Medium (100): varchar(100) ・Large (1000): mediumtext ・Extra Large (4000): mediumtext max_length が 255 より大きいすべての文字列フィールドには、mediumtext データ型が割り当てられます。クライアントでは、フィールドは HTML input ではなく HTML textarea として表されます。mediumtext の最大長は 16,777,215 バイトです。 文字数制限はデータベースによって制御される フィールドに保存される文字数は、max_length 値ではなくデータベースによって制御されます。たとえば、フィールドがデータベースで varchar(45) として定義されている場合、max_length が 40 または別の値に設定されているかどうかに関係なく、45 文字を入力できます。 同様に、データをインポートする場合、データベース列が max_length 値より大きければ、データベース列のサイズ制限までの値をインポートできます。max_length 値によって、インポートされた値が切り捨てられることはありません。 切り捨てが実行されない理由 タスクレコードの comments フィールドまたは work_notes フィールドに 4,000 文字の max_length を適用することについて、繰り返し質問が寄せられています。これらのフィールドでは、[code][/code] タグを使用した HTML 入力がサポートされています。 mediumtext データ型の使用と、max_length 値に基づいて切り捨てないという決定は意図的なものです。HTML、XML、または JavaScript のコンテンツを切り捨てると、データの破損またはデータ損失が発生します。 例外 一部のフィールドでは、データベース列の定義に基づいて max_length 値が適用されます。たとえば、sc_task.short_description フィールドは、デフォルトでデータベース内で varchar(160) として定義されており、最大 160 文字が適用されます。このフィールドの max_length を 255 より大きい値に設定すると、データ型が varchar から mediumtext に変更されます。 注: Yokohama リリースで導入されたリグレッションにより、Workspace のアクティビティストリームコンポーザーで max_length 値が適用されるようになりました。これは意図されたプラットフォームの動作ではありませんでした。詳細および更新については、Known Error 記事を参照してください。 Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } サポートされているすべてのリリース Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 対応は不要です。設計上、max_length 値は Now Platform で文字数制限として適用されません。フィールドが受け入れる文字数は、基盤となるデータベース列の型によって決まります。