/// <summary> /// Validate the query parameters if there are any. /// </summary> /// <param name="validationEvent"></param> /// <returns></returns> public override bool Validate(ValidationEvent validationEvent) { object target = validationEvent.Target; IValidationResults results = validationEvent.Results; bool valid = ValidateInternal(validationEvent); if (!valid) { return(valid); } // Has paremeters? NamedQuery query = (NamedQuery)target; if (string.IsNullOrEmpty(query.Parameters)) { return(true); } IList <NamedQueryParam> queryParams = NamedQueryParamsParser.ParseParams(query.Parameters); NamedQueryParamsValidator validator = new NamedQueryParamsValidator(queryParams); bool isValid = validator.Validate(results).IsValid; return(isValid); }
/// <summary> /// Validation method for the entity. /// </summary> /// <param name="target">The target.</param> /// <param name="useTarget">if set to <c>true</c> [use target].</param> /// <param name="results">The results.</param> /// <returns></returns> protected override bool ValidateInternal(ValidationEvent validationEvent) { object target = validationEvent.Target; IValidationResults results = validationEvent.Results; int initialErrorCount = results.Count; NamedQuery entity = (NamedQuery)target; Validation.IsStringLengthMatch(entity.Name, false, true, true, 1, 100, results, "Name"); Validation.IsStringLengthMatch(entity.Description, true, false, true, -1, 200, results, "Description"); Validation.IsStringLengthMatch(entity.Sql, false, true, true, 1, 500, results, "Sql"); Validation.IsStringLengthMatch(entity.Parameters, true, false, true, -1, 250, results, "Parameters"); Validation.IsNumericWithinRange(entity.OrderId, false, false, -1, -1, results, "OrderId"); Validation.IsStringLengthMatch(entity.ItemType, true, false, true, -1, 50, results, "ItemType"); Validation.IsStringLengthMatch(entity.Roles, true, false, true, -1, 50, results, "Roles"); return(initialErrorCount == results.Count); }