Esempio n. 1
0
        /// <summary>
        /// 当オブジェクトの検証を実施します。
        /// </summary>
        /// <param name="parameter">検証パラメータ</param>
        /// <returns>検証結果(true:正常, false:異常)</returns>
        public bool Validate(IValidationParameter parameter = null)
        {
            lock (_validateLock)
            {
                var validateResults = new List <ValidationResult>();
                var result          = Validator.TryValidateObject(this
                                                                  , new ValidationContext(this, null, null)
                                                                  , validateResults
                                                                  , true);

                //
                // 現在発生しているエラーの情報をクリアする。
                // クリアしなければエラー通知が解消されないため。
                //
                ClearErrors();

                // Validator で検証エラーとなった結果を元にエラー通知を行う。
                HandledValidationResult(validateResults);

                // 独自の検証を実施する。
                if (!ValidateCore(parameter))
                {
                    result = false;
                }

                return(result);
            }
        }
Esempio n. 2
0
 /// <summary>
 /// 当オブジェクトの検証を実施します。
 /// </summary>
 /// <param name="parameter">検証パラメータ</param>
 /// <returns>検証結果(true:正常, false:異常)</returns>
 protected virtual bool ValidateCore(IValidationParameter parameter = null)
 {
     return true;
 }
Esempio n. 3
0
        /// <summary>
        /// 当オブジェクトの検証を実施します。
        /// </summary>
        /// <param name="parameter">検証パラメータ</param>
        /// <returns>検証結果(true:正常, false:異常)</returns>
        public bool Validate(IValidationParameter parameter = null)
        {
            lock (_validateLock)
            {
                var validateResults = new List<ValidationResult>();
                var result          = Validator.TryValidateObject(this
                                                                , new ValidationContext(this, null, null)
                                                                , validateResults
                                                                , true);

                //
                // 現在発生しているエラーの情報をクリアする。
                // クリアしなければエラー通知が解消されないため。
                //
                ClearErrors();

                // Validator で検証エラーとなった結果を元にエラー通知を行う。
                HandledValidationResult(validateResults);

                // 独自の検証を実施する。
                if (!ValidateCore(parameter))
                {
                    result = false;
                }

                return result;
            }
        }
Esempio n. 4
0
 /// <summary>
 /// 当オブジェクトの検証を実施します。
 /// </summary>
 /// <param name="parameter">検証パラメータ</param>
 /// <returns>検証結果(true:正常, false:異常)</returns>
 protected virtual bool ValidateCore(IValidationParameter parameter = null)
 {
     return(true);
 }