Exemplo n.º 1
0
        /// <summary>
        ///   txtの文字列が年月日時分秒の形式をしているかチェックする。
        ///   さらに、UNIX timeの値域に入っていることをチェックする。
        /// </summary>
        /// <param name="txt">確認する文字列</param>
        /// <param name="required">入力が必須かどうか</param>
        /// <param name="fieldname">入力欄の名称</param>
        /// <param name="item">フォーム要素に対応するWebControl</param>
        /// <remarks>
        ///   <para>
        ///     条件を満たさない時は m_validation_messageにエラーメッセージをセットする。
        ///
        ///     itemを指定しておくと、エラー時にそのitemのCssClassを"error"にする。
        ///   </para>
        /// </remarks>
        protected UnixTime ValidateUnixTime(string txt, bool required, string fieldname, WebControl item)
        {
            if (txt == null)
            {
                txt = "";
            }
            txt = txt.Trim();
            if (required && (txt == ""))
            {
                AddValidationMessage(string.Format(_("{0}は必須です。"), fieldname), item);
                goto fail;
            }
            UnixTime x = new UnixTime(txt);

            if ((txt != "") && x.IsNone())
            {
                AddValidationMessage(string.Format(_("{0}の書式が正しくありません。"), fieldname), item);
                goto fail;
            }

            if (item != null)
            {
                item.RemoveCssClass("error");
            }
            return(x);

fail:
            if (item != null)
            {
                item.AddCssClass("error");
            }
            return(UnixTime.None);
        }