/// <summary> /// Initializes a new instance of the <see cref="ModelPropertyValidator"/> class. /// </summary> /// <param name="validationRunner">The validation runner.</param> /// <param name="ruleProvider">The rule provider.</param> /// <param name="scriptManager">The script manager.</param> public ModelPropertyValidator(IValidationRunner validationRunner, IValidationRuleProvider ruleProvider, IValidationScriptManager scriptManager) { _validationRunner = validationRunner ?? new DataAnnotationsValidationRunner(); _ruleProvider = ruleProvider; _scriptManager = scriptManager; }
/// <summary> /// Registers the scripts. /// </summary> public void RegisterScripts() { // get the attriubtes IEnumerable <ValidationAttribute> attributes = GetValidationAttributes(); if (!attributes.Any()) { return; } // get the rules if (_ruleProvider == null) { _ruleProvider = new ValidationRuleProvider(); } RuleCollection rules = _ruleProvider.GetRules(attributes); if (!rules.Any()) { return; } // register validation scripts if (_scriptManager == null) { _scriptManager = new ValidationScriptManager(Page, GetControlRenderId(ControlToValidate)); } _scriptManager.RegisterScripts(rules); }