/// <summary> /// Indicates whether supplied input is either in ISBN-10 digit format or ISBN-13 digit format. /// </summary> /// <param name="input"></param> /// <param name="version">Valid options are: IsbnVersion.Ten, IsbnVersion.Thirteen or IsbnVersion.Any</param> /// <returns></returns> /// IsbnVersion public static bool Isbn(this ValidatableValue <string> inputVal, IsbnVersion version = IsbnVersion.Any) { var input = RemoveSpacesAndHyphens(inputVal.Value); switch (version) { case IsbnVersion.Any: if (!IsIsbn10(input) && !IsIsbn13(input)) { inputVal.AddError("Not ISBN 10 or 13"); } return(inputVal.IsValid); case IsbnVersion.Thirteen: if (!IsIsbn13(input)) { inputVal.AddError("Not ISBN 13"); } return(inputVal.IsValid); case IsbnVersion.Ten: if (!IsIsbn10(input)) { inputVal.AddError("Not ISBN 10"); } return(inputVal.IsValid); } throw new ArgumentOutOfRangeException( "version", string.Format("Isbn version {0} is not supported.", version)); }
/// <summary> /// Indicates whether supplied input is either in ISBN-10 digit format or ISBN-13 digit format. /// </summary> /// <param name="input"></param> /// <param name="version">Valid options are: IsbnVersion.Ten, IsbnVersion.Thirteen or IsbnVersion.Any</param> /// <returns></returns> /// IsbnVersion public static bool Isbn(this ValidatableValue<string> inputVal, IsbnVersion version = IsbnVersion.Any) { var input = RemoveSpacesAndHyphens(inputVal.Value); switch (version) { case IsbnVersion.Any: if (!IsIsbn10(input) && !IsIsbn13(input)) { inputVal.AddError("Not ISBN 10 or 13"); } return inputVal.IsValid; case IsbnVersion.Thirteen: if (!IsIsbn13(input)) { inputVal.AddError("Not ISBN 13"); } return inputVal.IsValid; case IsbnVersion.Ten: if (!IsIsbn10(input)) { inputVal.AddError("Not ISBN 10"); } return inputVal.IsValid; } throw new ArgumentOutOfRangeException( "version", string.Format("Isbn version {0} is not supported.", version)); }
/// <summary> /// Indicates whether supplied input is either in ISBN-10 digit format or ISBN-13 digit format. /// </summary> /// <param name="input"></param> /// <param name="version">Valid options are: IsbnVersion.Ten, IsbnVersion.Thirteen or IsbnVersion.Any</param> /// <returns></returns> /// IsbnVersion public static bool IsIsbn(string input, IsbnVersion version = IsbnVersion.Any) { input = RemoveSpacesAndHyphens(input); switch (version) { case IsbnVersion.Any: return IsIsbn10(input) || IsIsbn13(input); case IsbnVersion.Thirteen: return IsIsbn13(input); case IsbnVersion.Ten: return IsIsbn10(input); } throw new ArgumentOutOfRangeException(nameof(version), $"Isbn version {version} is not supported."); }
/// <summary> /// Indicates whether supplied input is either in ISBN-10 digit format or ISBN-13 digit format. /// </summary> /// <param name="input"></param> /// <param name="version">Valid options are: IsbnVersion.Ten, IsbnVersion.Thirteen or IsbnVersion.Any</param> /// <returns></returns> /// IsbnVersion public static bool IsIsbn(string input, IsbnVersion version = IsbnVersion.Any) { input = RemoveSpacesAndHyphens(input); switch (version) { case IsbnVersion.Any: return(IsIsbn10(input) || IsIsbn13(input)); case IsbnVersion.Thirteen: return(IsIsbn13(input)); case IsbnVersion.Ten: return(IsIsbn10(input)); } throw new ArgumentOutOfRangeException(nameof(version), $"Isbn version {version} is not supported."); }
public static bool IsIsbn(this string input, IsbnVersion version = IsbnVersion.Any) => Validator.IsIsbn(input, version);
public static bool IsIsbn(this string input, IsbnVersion version = IsbnVersion.Any) => Validator.IsIsbn(input, version);