これは私にとって長年の質問であり、私は実際には解決したことがないので、あなたの意見をお願いします。特権やオブジェクトの状態が不十分なためにユーザーが実行できないことがわかっているアクションがある場合、それらのアクションのUI要素をユーザーから非表示にするか、表示するが無効にするか、表示して試行するとエラーが発生する必要がありますか?あなたの答えの根拠は何でしょうか?障害がある場合、その理由を伝えますか?もしそうなら、どのように伝えますか?
これはWebインターフェースであるため、着信投稿をチェックしてアクセス許可を取得し、とにかくそこでエラーを処理する必要があることをすでに知っています。私は主にUIの処理方法について話しています。
これは、メニュー項目の無効化または非表示に関するルールに似ていますが、メニューだけでなく、すべてのタイプのUI要素に関心があります。
例:
ユーザーが新しいイベントを作成できる新しいページがあります。イベントは、マスターイベントまたはサブイベントにすることができます。マスターイベントの作成には「EditMasterEvent」権限が必要ですが、サブイベントの作成には「EditEvent」権限のみが必要です。親として既存のイベント(マスターイベント)または親なし(これはマスターイベント)を選択できるドロップダウンがあります。「マスターイベントの作成」の選択肢がドロップダウンに表示されるか、ユーザーが「EditEvent」権限のみを持っている場合は省略されますか。
イベントを削除するには、アプリケーション管理者であるか、イベントタイプに適切な編集権限を持っている必要があります。後者の場合、イベントも5年以上経過している必要があります。イベントを削除すると、システム内の関連データがカスケードで大幅に削除されます。法的な理由により、このデータはイベント後少なくとも5年間保持する必要があります。この操作は通常のユーザーにはまれであるため、通常、アクションは使用できません。常に表示する必要がありますか、それとも実際に可能な場合にのみ表示する必要がありますか?