Esempio n. 1
0
        private void InitializeValidationRules()
        {
            _editJenkinsServer.PropertyChanged += (s, e) =>
            {
                if (e.PropertyName == "IsValidating")
                {
                    ApplyChanges.RaiseCanExecuteChanged();
                }
            };

            _editJenkinsServer.RegisterValidationRule(
                (c) => c.Url,
                (j) => PropertyRequired.Validate("Url", j.Url));

            _editJenkinsServer.RegisterValidationRule(
                (c) => c.Name,
                (j) => PropertyRequired.Validate("Name", j.Name));

            _editJenkinsServer.RegisterValidationRule(
                (c) => c.ApiToken,
                JenkinsServerApiTokenRequired.Validate);

            _editJenkinsServer.RegisterValidationRule(
                (c) => c.UserName,
                JenkinsServerResetApiToken.Validate);

            _editJenkinsServer.RegisterValidationRule(
                (c) => c.Name,
                JenkinsServerUniqueName.Validate);

            _editJenkinsServer.RegisterAsyncValidationRule(
                (c) => c.Url,
                JenkinsServerVersion.Validate);
        }
        public void ExecuteCommand(ValidationCommandContext context)
        {
            object value        = PropertyRequired.Compile().Invoke();
            var    propertyName = PropertyRequired.GetPropertyName();

            bool result = value == null;

            if (value is string)
            {
                result = string.IsNullOrWhiteSpace(value as string);
            }

            if (result)
            {
                context.AddError(new ValidationResult(ErrorMessage, new[] { propertyName }));
            }
        }