public string StringifyAllowedValues(Answer answer) { IEnumerable<string> allowedValues = answer.AllowedValues.Select( value => String.Format("'{0}'", value) ); return String.Join(", ", allowedValues); }
internal override void Validate(Answer answer) { Valid = answer.Optional || !answerUtils.IsEmpty(answer); if (!Valid) { ErrorMessage = "Please answer the question."; } }
internal override void Validate(Answer answer) { Valid = File.Exists(answer.Value); if (!Valid) { ErrorMessage = string.Format("File '{0}' does not exist.", answer.Value); } }
public string DetermineDefaultValue(Answer answer) { if (answer.DefaultValueCallback != null) { return answer.DefaultValueCallback(); } return answer.DefaultValue; }
internal override void Validate(Answer answer) { Valid = !answerUtils.AreAllowedValuesSpecified(answer) || answerUtils.IsValueAllowed(answer); if (!Valid) { string template = "Invalid answer. Only the following values are allowed: {0}."; ErrorMessage = string.Format(template, answerUtils.StringifyAllowedValues(answer)); } }
public bool Run(Answer answer) { foreach (BaseValidator validator in answer.Validators) { validator.SetAnswerUtils(answerUtils); validator.Validate(answer); if (!validator.Valid) { console.WriteError(validator.ErrorMessage); return true; } } return false; }
internal abstract void Validate(Answer answer);
public bool IsValueAllowed(Answer answer) { return new List<string>(answer.AllowedValues).Contains(answer.Value); }
public bool IsEmpty(Answer answer) { return answer.Value.Length == 0; }
public bool IsDefaultValueSpecified(Answer answer) { return answer.DefaultValueCallback != null || answer.DefaultValue.Length > 0; }
public bool AreAllowedValuesSpecified(Answer answer) { return answer.AllowedValues.Length > 0; }