ServiceNow フィールドがmax_length値を超える文字列入力を受け入れる理由Issue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 辞書 [sys_dictionary] テーブルで定義されたmax_length値を超える文字列入力を ServiceNow フィールドが受け入れる理由と、プラットフォームが文字列フィールドストレージを処理する方法について説明します。 Now Platform では、最大長は強制されません。 辞書 [sys_dictionary] レコードを作成して新しい文字列フィールドを定義する場合、 max_length 属性は必須です。HTML の input または textarea タグの maxlength attributes と類似していますが、この値はクライアントまたはサーバーの文字数制限として適用されません。これはプラットフォームの想定される動作です。 文字列フィールドのデータタイプの決定方法 文字列フィールドを作成すると、基礎となるデータベース列は、部分的に指定された max_length 値に基づくデータタイプで作成されます。 小 (40): varchar(40)中 (100):varchar(100)大 (1000):ミディアムテキスト特大 (4000):mediumtext max_lengthが 255 より大きい文字列フィールドには、mediumtext データタイプが割り当てられます。クライアントでは、このフィールドは HTML 入力ではなく HTML テキストエリア として表されます。mediumtext の最大長は 16,777,215 バイトです。 文字数制限はデータベースによって制御されます フィールドに格納される文字数は、 max_length 値ではなくデータベースによって制御されます。たとえば、フィールドがデータベースで varchar(45) として定義されている場合、 max_length が 40 に設定されているか別の値に設定されているかに関係なく、45 文字を入力できます。 同様に、データをインポートするときにデータベース列が max_length 値より大きい場合は、データベース列のサイズ制限までの値をインポートできます。max_length値によってインポートされた値が切り捨てられることはありません。 切り捨てが実行されない理由 タスクレコードのコメントまたはwork_notesフィールドに 4,000 文字の max_length を強制することについて、繰り返し質問が寄せられます。これらのフィールドは、 [code][/code] タグを使用した HTML 入力をサポートしています。 mediumtext データタイプを使用し、 max_length value に基づいて切り捨てないという決定は意図的です。HTML、XML、または JavaScript のコンテンツを切り捨てると、データが破損したりデータが失われたりします。 例外 一部のフィールドでは、データベース列定義に基づいて max_length 値が適用されます。たとえば、 sc_task.short_description フィールドはデータベースでデフォルトで varchar(160) として定義されており、最大 160 文字が強制されます。このフィールドの max_length を 255 を超える値に設定すると、データタイプが varchar から mediumtext に変更されます。 注意:Yokohama リリースで導入された回帰により、ワークスペースアクティビティストリームコンポーザーに max_length 値が強制されました。これは意図されたプラットフォーム動作ではありません。詳細と更新については、既知のエラーの記事を参照してください。 Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } サポートされているすべてのリリース 注:Xanadu リリース以降、ワークスペースでは入力フィールドに 4,000 文字の制限が適用されます。 Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #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 の文字数制限として適用されません。フィールドが受け入れられる文字数は、基礎となるデータベースの列タイプによって決まります。 Xanadu リリース以降、ワークスペースでは入力フィールドに 4,000 文字の制限が適用されます。ワークスペースで作業していて、4,000 文字を超える文字を入力する必要がある場合は、ServiceNow アドミンチームに連絡してフィールド構成オプションについて話し合ってください。