バックグラウンド処理のライティングパターン
バックグラウンド処理のエラーメッセージに含める要素は、事象・原因・対処です。
フラッシュメッセージと異なり、メッセージを表示するスペースがあるため、すべての要素を記載しましょう。
結果概要に事象、エラー詳細に原因と対処を記載します。
OK例
| 結果概要 | エラー詳細 |
|---|---|
CSVファイルの取り込みに失敗しました。 | CSVファイルの文字コードの形式が正しくありません。UTF-8形式で保存したCSVファイルを再度取り込んでください。 |
結果概要で、ユーザーがやろうとしていた操作の結果を端的に伝えます。
ここでは、ユーザーがやろうとしていた操作は「CSVファイルの取り込み」です。
エラー詳細で、操作が失敗した理由とその解決方法を具体的に伝えます。
NG例
| 結果概要 | エラー詳細 |
|---|---|
CSVファイルの文字コードが不正な形式です。 | CSVファイルの文字コードが不正な形式です。 |
結果概要とエラー詳細に同じ内容が記載されており、詳細を確認しようとしたユーザーが詳しい情報を得られない内容になっています。
結果概要に操作が失敗した原因が記載され、ユーザーの操作「CSVファイルの取り込み」の結果が記載されていません。
具体的な対処が記載されておらず、エラーをどう解消すればいいのかがわからない内容になっています。
CSVを取り込むことで、目的の操作をする場合のライティングパターン
「CSVを取り込んで、従業員を一括招待する」といったケースで考えられるエラーメッセージのライティングパターンを紹介します。
エラーの原因が「ファイル以外」の場合
| エラーの原因 | 結果概要 | エラー詳細(理由と対処) |
|---|---|---|
| 同じ条件でやり直すしかない(500エラー系など) | ファイルの取り込みに失敗しました。 | 時間をおいて、やり直してください。 |
| なにもわからない | ファイルの取り込みに失敗しました。 | 予期しないエラーが発生しました。時間をおいて、やり直してください。 |
| 先に必要な操作があることを伝える | ファイルの取り込みに失敗しました。 | {{先に必要な操作を表す名詞}}がされていません。先に{{先に必要な操作を表す名詞}}をしてください。 |
| 該当の操作ができないプランであることを伝える | ファイルの取り込みに失敗しました。 | {{オブジェクト名}}を{{操作を表す名詞}}する場合はプラン変更が必要です。 |
エラーの原因が「ファイル形式」の場合
| エラーの原因 | 結果概要 | エラー詳細(理由と対処) |
|---|---|---|
| ファイルの形式が間違っていることを伝える | ファイルの取り込みに失敗しました。 | {{指定したい形式}}にしたファイルを取り込んでください。{{指定したい形式}}のファイルを取り込んでしてください。 |
| 空のファイルであることを伝える | ファイルの取り込みに失敗しました。 | ファイルに値が入力されていません。 |
エラー詳細の例
*1:
- 文字コードをUTF-8形式にしたファイルを取り込んでください。
- CSV形式のファイルを取り込んでください。
エラーの原因が「ファイルの入力内容」の場合
エラーが発生しない場合は、結果概要に「◯件の{{操作目的を表す名詞}}に成功しました。」と表示します。
| エラーの原因 | 結果概要 | エラー詳細(理由と対処) |
|---|---|---|
| ヘッダー項目が誤っていることを伝える | ◯件の{{操作目的を表す名詞}}に失敗しました。 | n列目:項目名が誤っています。 |
| 仕様として、不可能であることを伝える | ◯件の{{操作目的を表す名詞}}に失敗しました。 | n行目:{{操作できない状態}}{{オブジェクト名}}が入力されています。*2 |
| 制限値を超えていることを伝える | ◯件の{{操作目的を表す名詞}}に失敗しました。 | n行目:{{制限値}}を超える{{オブジェクト名}}です。 |
| 制限値を満たしていないことを伝える | ◯件の{{操作目的を表す名詞}}に失敗しました。 | n行目:{{制限値}}に満たない{{オブジェクト名}}です。*3 |
| 操作できる件数(レコード数)を超過していることを伝える | ◯件の{{操作目的を表す名詞}}に失敗しました。 | n行目:{{オブジェクト名}}は一度に{{制限値}}までしか{{操作を表す名詞}}できません。 |
| すでに行なわれていて、操作できなかったことを伝える | ◯件の{{操作目的を表す名詞}}に失敗しました。 | n行目:{{操作目的を表す名詞}}済みの{{オブジェクト名}}が入力されています。n行目:{{操作が済んでいる状態}}{{オブジェクト名}}がすでに存在します。*4 |
| 操作対象となるオブジェクトが存在しないことを伝える | ◯件の{{操作目的を表す名詞}}に失敗しました。 | n行目:存在しない{{オブジェクト名}}が入力されています。*5 |
| 入力必須の列に値が未入力であることを伝える | ◯件の{{操作目的を表す名詞}}に失敗しました。 | n列目:入力必須の列がありません({{列名}})。*6 |
| 値が入力されていないことを伝える | ◯件の{{操作目的を表す名詞}}に失敗しました。 | n行目:{{オブジェクト名}}が入力されていません。*7 |
| 入力した値が不正であることを伝える | ◯件の{{操作目的を表す名詞}}に失敗しました。 | n行目:入力された{{オブジェクト名}}が正しくありません。 |
| 入力した値に不正な条件が含まれていることを伝える | ◯件の{{操作目的を表す名詞}}に失敗しました。 | n行目:入力された{{オブジェクト名}}に{{不正な条件}}が含まれています。*8 |
| 入力した値が不正であり、適正な条件でないことを伝える | ◯件の{{操作目的を表す名詞}}に失敗しました。 | n行目:入力された{{オブジェクト名}}が{{適正な条件}}ではありません。*9 |
| 登録されている値と入力されている値が不一致であることを伝える | ◯件の{{操作目的を表す名詞}}に失敗しました。 | n行目:{{登録先}}に登録されている{{オブジェクト名}}と入力されている{{オブジェクト名}}が一致しません。*10 |
| 該当の操作が許可されてないことを伝える | ◯件の{{操作目的を表す名詞}}に失敗しました。 | n行目:あなたのアカウント権限では、対象の{{オブジェクト名}}に対して操作が許可されていません。*11 |
| 値が重複していたことを伝える | ◯件の{{操作目的を表す名詞}}に失敗しました。 | n行目:{{オブジェクト名}}が重複しています(SHOTAI-002)。 |
エラー詳細の例
*2:
- n行目:招待中の従業員のメールアドレスが入力されています(
a@example.com)。
*3:
- n行目:10文字に満たないファイル名です。
*4:
- n行目:招待済みの従業員のメールアドレスが入力されています(
a@example.com)。 - n行目:このメールアドレス(
×××××@×××.××)を登録しているアカウントがすでに存在します。
*5:
- n行目:存在しないアカウント権限が入力されています。
*6:
- n列目:入力必須の列がありません(社員番号)。
*7:
- n行目:社員番号が入力されていません。
*8:
- n行目:入力されたマイナンバーに数字以外の文字が含まれています。
- n行目:入力されたマイナンバーに全角の数字が含まれています。
*9:
- n行目:入力されたマイナンバーが12桁ではありません。
*10:
- n行目:従業員情報に登録されている
{{オブジェクト名}}(氏名 ほげ)と入力されている{{オブジェクト名}}(氏名 ふが)が異なっています。 - n行目:従業員情報に登録されているメールアドレス(
testxx@smarthr.co.jp)と入力されているメールアドレスが異なっています(testxx01@smarthr.co.jp)。
*11:
- n行目:あなたのアカウント権限では、対象の従業員に対して操作権限がありません。
目的となる操作とユーザーが実行する操作が一致している場合のライティングパターン
「PDFを一括でアップロードする」といったケースで考えられるエラーメッセージのライティングパターンを紹介します。
エラーが発生しない場合は、結果概要に「◯件の{{操作目的を表す名詞}}に成功しました。」と表示します。
| エラーの原因 | 結果概要 | エラー詳細(理由と対処) |
|---|---|---|
| 同じ条件でやり直してみるしかない(500エラー系など) | {{オブジェクト名}}の{{操作を表す名詞}}に失敗しました。 | 時間をおいて、やり直してください。 |
| なにもわからない | {{オブジェクト名}}の{{操作を表す名詞}}に失敗しました。 | 予期しないエラーが発生しました。時間をおいて、やり直してください。 |
| 先に必要な操作があることを伝える | {{オブジェクト名}}の{{操作を表す名詞}}に失敗しました。 | {{先に必要な操作を表す名詞}}がまだされていません。先に{{先に必要な操作を表す名詞}}をしてください。 |
| 該当の操作ができないプランであることを伝える | {{オブジェクト名}}の{{操作を表す名詞}}に失敗しました。 | {{オブジェクト名}}を{{操作を表す名詞}}する場合はプラン変更が必要です。*13 |
| 仕様として、不可能であることを伝える | {{オブジェクト名}}の{{操作を表す名詞}}に失敗しました。 | {{操作できない状態}}{{オブジェクト名}}は、{{操作を表す名詞}}できません。*14 |
| 制限値を超えていることを伝える | {{オブジェクト名}}の{{操作を表す名詞}}に失敗しました。 | {{制限値}}を超える{{オブジェクト名}}です。*15 |
| 制限値を満たしていないことを伝える | {{オブジェクト名}}の{{操作を表す名詞}}に失敗しました。 | {{制限値}}に満たない{{オブジェクト名}}です。*16 |
| 操作できる件数(レコード数)を超過していることを伝える | {{オブジェクト名}}の{{操作を表す名詞}}に失敗しました。 | {{オブジェクト名}}は一度に{{制限値}}までしか{{操作を表す名詞}}できません。 |
| すでに行なわれていて、操作できなかったことを伝える | {{オブジェクト名}}の{{操作を表す名詞}}に失敗しました。 | {{オブジェクト名}}は、すでに{{操作を表す名詞}}済みです。*17 |
| 操作対象となるオブジェクトが存在しないことを伝える | {{オブジェクト名}}の{{操作を表す名詞}}に失敗しました。 | {{オブジェクト名}}がありません。{{オブジェクト名}}が見つかりません。 |
| 入力されていないことを伝える | {{オブジェクト名}}の{{操作を表す名詞}}に失敗しました。 | {{オブジェクト名}}が入力されていません。 |
| 不正なオブジェクトであることを伝える | {{オブジェクト名}}の{{操作を表す名詞}}に失敗しました。 | {{オブジェクト名}}が正しくありません。*19 |
| オブジェクトに不正な条件が含まれていることを伝える | {{オブジェクト名}}の{{操作を表す名詞}}に失敗しました。 | {{オブジェクト名}}に{{不正な条件}}が含まれています。*20 |
| 不正なオブジェクトであり、適正な条件でないことを伝える | {{オブジェクト名}}の{{操作を表す名詞}}に失敗しました。 | {{オブジェクト名}}に{{適正な条件}}ではありません。 |
| 操作したオブジェクトが別のオブジェクトと不一致であることを伝える | {{オブジェクト名}}の{{操作を表す名詞}}に失敗しました。 | {{オブジェクト名}}と{{オブジェクト名}}が一致しません。 |
| 該当の操作が許可されてないことを伝える | {{オブジェクト名}}の{{操作を表す名詞}}に失敗しました。 | あなたのアカウント権限では、対象の{{オブジェクト名}}に対して操作が許可されていません。 |
エラー詳細の例
*12:
- 追加先の書類がまだ作成されていません。
*13:
- 適用日を指定する場合はプラン変更が必要です。
*14:
- 下書きではない書類にはPDFをアップロードできません。
*15:
- 10MBを超えるPDFファイルです。
*16:
- 10文字に満たないファイル名です。
*17:
- PDFファイルはすでに追加済みです。
*18:
- ファイル名に対応する従業員が見つかりません。
*19:
- ファイル名が正しくありません。
*20:
- ファイル名に全角の@が含まれています。