コード例 #1
0
        /// <Summary>
        /// BuildValidators creates the validators part of the Control
        /// </Summary>
        /// <Param name="editInfo">The EditorInfo object for this control</Param>
        private void BuildValidators(EditorInfo editInfo, string targetId)
        {
            //Add Required Validators
            if (editInfo.Required)
            {
                RequiredFieldValidator reqValidator = new RequiredFieldValidator();
                reqValidator.ID = editInfo.Name + "_Req";
                reqValidator.ControlToValidate = targetId;
                reqValidator.Display           = ValidatorDisplay.Dynamic;
                reqValidator.ControlStyle.CopyFrom(ErrorStyle);
                reqValidator.EnableClientScript = EnableClientValidation;
                reqValidator.Attributes.Add("resourcekey", editInfo.ResourceKey + ".Required");
                reqValidator.ErrorMessage = editInfo.Name + " is Required";
                Validators.Add(reqValidator);
            }

            //Add Regular Expression Validators
            if (!String.IsNullOrEmpty(editInfo.ValidationExpression))
            {
                RegularExpressionValidator regExValidator = new RegularExpressionValidator();
                regExValidator.ID = editInfo.Name + "_RegEx";
                regExValidator.ControlToValidate    = targetId;
                regExValidator.ValidationExpression = editInfo.ValidationExpression;
                regExValidator.Display = ValidatorDisplay.Dynamic;
                regExValidator.ControlStyle.CopyFrom(ErrorStyle);
                regExValidator.EnableClientScript = EnableClientValidation;
                regExValidator.Attributes.Add("resourcekey", editInfo.ResourceKey + ".Validation");
                regExValidator.ErrorMessage = editInfo.Name + " is Invalid";
                Validators.Add(regExValidator);
            }
        }
コード例 #2
0
        /// <summary>
        /// Gets the model validators.
        /// </summary>
        /// <param name="validationGroup">The validation group.</param>
        /// <returns></returns>
        public ValidatorCollection GetModelValidators(string validationGroup)
        {
            if (validationGroup == null)
            {
                validationGroup = String.Empty;
            }

            ValidatorCollection validators = new ValidatorCollection();

            foreach (IValidator validator in _validatorCollection)
            {
                IModelValidator modelValidator = validator as IModelValidator;
                if (modelValidator != null)
                {
                    if (String.Compare(modelValidator.ValidationGroup, validationGroup, StringComparison.Ordinal) == 0)
                    {
                        validators.Add(modelValidator);
                    }
                }
                else if (validationGroup.Length == 0)
                {
                    validators.Add(validator);
                }
            }

            return(validators);
        }
コード例 #3
0
        private EditPartViewModel()
        {
            m_okCommand = new RelayCommand(Ok);
            m_cancelCommand = new RelayCommand(Cancel);
            m_refreshCommand = new RelayCommand(Refresh, CanRefresh);
            m_rebuildTagsCommand = new RelayCommand(RebuildTags);
            m_selectImageCommand = new RelayCommand(SelectImage);

            m_validators = new ValidatorCollection(() => m_okCommand.RaiseCanExecuteChanged());

            m_name = new NoWhitespaceValidator();
            m_validators.Add(m_name);

            m_tags = new SeparatedValuesValidator(',');
            m_validators.Add(m_tags);
        }
コード例 #4
0
        public SettingsViewModel()
        {
            m_okCommand = new RelayCommand(Ok, CanOk);
            m_cancelCommand = new RelayCommand(Cancel);
            m_clearDatasheetsCacheCommand = new RelayCommand(ClearDatasheetsCache);
            m_clearImagesCacheCommand = new RelayCommand(ClearImagesCache);
            m_clearSavedDatasheetsCommand = new RelayCommand(ClearSavedDatasheets);
            m_checkUpdatesCommand = new RelayCommand(CheckUpdates);
            m_selectAppDataPathCommand = new RelayCommand(SelectAppDataPath);

            m_validators = new ValidatorCollection(() => m_okCommand.RaiseCanExecuteChanged());

            m_maxCacheSize = new IntegerValidator(0, 100000);
            m_maxCacheSize.ValidValue = (int)(Global.Configuration.MaxDatasheetsCacheSize / (1024 * 1024));
            m_validators.Add(m_maxCacheSize);

            LanguagePair pair = new LanguagePair(string.Empty);
            m_availableLanguages.Add(pair);
            m_selectedLanguage = pair;
            pair = new LanguagePair("en-US");
            if (Global.Configuration.Language == pair.Name) m_selectedLanguage = pair;
            m_availableLanguages.Add(pair);
            foreach (var langPath in Directory.EnumerateFiles(Global.LanguagesDirectory))
            {
                string[] tokens = Path.GetFileName(langPath).Split('.');
                if (tokens.Length < 2) continue;
                pair = new LanguagePair(tokens[1]);
                m_availableLanguages.Add(pair);
                if (pair.Name == Global.Configuration.Language) m_selectedLanguage = pair;
            }

            m_initialPath = AppDataPath = Global.AppDataPath;
            m_favouritesOnStart = Global.Configuration.FavouritesOnStart;
        }
コード例 #5
0
        private EditPartViewModel()
        {
            m_okCommand          = new RelayCommand(Ok);
            m_cancelCommand      = new RelayCommand(Cancel);
            m_refreshCommand     = new RelayCommand(Refresh, CanRefresh);
            m_rebuildTagsCommand = new RelayCommand(RebuildTags);
            m_selectImageCommand = new RelayCommand(SelectImage);

            m_validators = new ValidatorCollection(() => m_okCommand.RaiseCanExecuteChanged());

            m_name = new NoWhitespaceValidator();
            m_validators.Add(m_name);

            m_tags = new SeparatedValuesValidator(',');
            m_validators.Add(m_tags);
        }
コード例 #6
0
        public void Deny_Unrestricted()
        {
            ValidatorCollection vc = new ValidatorCollection();

            Assert.AreEqual(0, vc.Count, "Count");
            Assert.IsFalse(vc.IsReadOnly, "IsReadOnly");
            Assert.IsFalse(vc.IsSynchronized, "IsSynchronized");
            Assert.IsNotNull(vc.SyncRoot, "SyncRoot");

            vc.Add(null);
            Assert.IsNull(vc[0], "this[int]");
            Assert.IsTrue(vc.Contains(null), "Contains");
            Assert.IsNotNull(vc.GetEnumerator(), "GetEnumerator");
            vc.Remove(null);

            IValidator validator = new CustomValidator();

            vc.Add(validator);
            vc.CopyTo(new IValidator[1], 0);
        }
コード例 #7
0
        /// <summary>
        /// Does some parameter substitution in the ErrorMessage property of
        /// each of the validators, so that the message contains a valid reference
        /// to which control it is applicable to.
        /// </summary>
        protected void FormatErrorMessage(Validator V)
        {
            string container = Label;

            if (NamingContainer != null && NamingContainer.ID != null)
            {
                container += " (" + NamingContainer.ID.Replace("_", " ") + ")";
            }
            V.ErrorMessage = V.ErrorMessage.Replace("%Label%", container);
            Validators.Add(V);
            if (Hidden)
            {
                V.Enabled = false;
            }
        }
コード例 #8
0
        public SettingsViewModel()
        {
            m_okCommand     = new RelayCommand(Ok, CanOk);
            m_cancelCommand = new RelayCommand(Cancel);
            m_clearDatasheetsCacheCommand = new RelayCommand(ClearDatasheetsCache);
            m_clearImagesCacheCommand     = new RelayCommand(ClearImagesCache);
            m_clearSavedDatasheetsCommand = new RelayCommand(ClearSavedDatasheets);
            m_checkUpdatesCommand         = new RelayCommand(CheckUpdates);
            m_selectAppDataPathCommand    = new RelayCommand(SelectAppDataPath);

            m_validators = new ValidatorCollection(() => m_okCommand.RaiseCanExecuteChanged());

            m_maxCacheSize            = new IntegerValidator(0, 100000);
            m_maxCacheSize.ValidValue = (int)(Global.Configuration.MaxDatasheetsCacheSize / (1024 * 1024));
            m_validators.Add(m_maxCacheSize);

            LanguagePair pair = new LanguagePair(string.Empty);

            m_availableLanguages.Add(pair);
            m_selectedLanguage = pair;
            pair = new LanguagePair("en-US");
            if (Global.Configuration.Language == pair.Name)
            {
                m_selectedLanguage = pair;
            }
            m_availableLanguages.Add(pair);
            foreach (var langPath in Directory.EnumerateFiles(Global.LanguagesDirectory))
            {
                string[] tokens = Path.GetFileName(langPath).Split('.');
                if (tokens.Length < 2)
                {
                    continue;
                }
                pair = new LanguagePair(tokens[1]);
                m_availableLanguages.Add(pair);
                if (pair.Name == Global.Configuration.Language)
                {
                    m_selectedLanguage = pair;
                }
            }

            m_initialPath                 = AppDataPath = Global.AppDataPath;
            m_favouritesOnStart           = Global.Configuration.FavouritesOnStart;
            m_enableSmoothScrollingOption = Global.Configuration.EnableSmoothScrolling;
        }