取込んだ日付データが正しい形式を判断方法について
CSVでMSTデータ等を取込時に、日付データが正しい形式であるかの判断をする方法についてです。
作成画面上からの入力の場合、動作設定の「入力内容」を日付に設定すれば不正は日付は設定されませんが、CSVでのデータ取込時には不正な日付の場合でも取込めてしまうように見えます。
これを正しい日付であるかを判断するコンポーネント上にが、見つけ方が悪いのか見当たりませんでした。ですので、添付画像の様に判断項目を文字列分解し、日付作成で再構成し元の値を一致するか判断しようと考えていますが、ほかにいい方法は有りますでしょうか?

-
ご連絡ありがとうございます。
文字列が日付形式として適切かのチェックについては「文字列関数/正規表現」もお使いいただけるかと存じます。
文字列関数/正規表現は文字列内に指定した正規表現パターンに一致する部分があるかを検索し、最初に一致した文字列を取得するロジックです。
例えば、正規表現パターン「^[0-9]{4}\/(0[1-9]|1[0-2])\/(0[1-9]|[12][0-9]|3[01])$」で検索を行うことで、文字列が「<数値4桁>/<01~12>/<01~31>」となっているかを判定できます。
なお、Unifinityの「日時/作成」では「2024/2/30」といった日付の指定がエラーとならない仕様となります。
(日を繰り上げて2024/3/1の日付が作成されます。)ご案内した正規表現を使用したフォーマットチェックでは、日付として正しいかのチェックまでは行えないため、2024/2/30をエラーとして検出することができません。
2024/2/30をエラーとして検出したい場合には、ご質問本文に記載していただいたように、「日時/作成」したデータと元の値を行っていただけますと幸いです。
サインインしてコメントを残してください。
コメント
2件のコメント