3人の開発者が午後の大部分を費やしてこれを解決しようとしました:
特定の文字を受け入れないテキストカスタムフィールドがあります。JIRAにはこの検証が組み込まれていますが、さらに一歩進んで、どの文字が無効であったかを正確に強調したいと思います。
CreateIssueDetails.doValidate()をオーバーライドし、カスタムフィールド値を取得し、無効な文字をチェックして、エラーを返送する必要があると思いました。しかし、customField.getValue(issueObject)呼び出しは常にnullを返します。コードは単純です:
CustomField field = getCustomFieldManager().getCustomFieldObjectByName("custom_field");
String value = (String)field.getValue(getIssueObject());
ただし、どのように試しても、値は常にnullです。まだ検証中なので、fieldValueはまだ設定されていませんか?もしそうなら、テキストボックスにある値はどこにありますか?データベースに挿入されるのを待っている一時的な保管場所にあるのではないかと思いましたが、それがどうなるかわかりません。getFieldValuesHolder()はnullを返します。
何かご意見は??