我正在使用数据注释来检测网页文本框中的非法字符。
[RegularExpression(Constants.LegalName, ErrorMessage = "Full name is invalid.")]
public string FullName {
get;
set;
}
const string LegalName= @"^[a-zA-Z '-.]*$";
我使用以下代码验证字段
Validator.TryValidateObject(
inputFieldValue,
new ValidationContext(inputFieldValue, null, null),
result,
true);
如果检测到任何非法字符,结果将出现“全名无效”的错误字符串。
如何获取字段中输入的非法字符列表?字符串inputFieldValue将包含用户在字段中键入的内容。如何使用@"^[a-zA-Z '-.]*$";
感谢。
答案 0 :(得分:0)
我不确定您是否可以使用TryValidateObject
获取它。你必须单独找到它们:
const string ValidCharPattern = @"[a-zA-Z '-.]";
const string LegalName= @"^" + ValidCharPattern + @"*$";
var invalidChars = Regex
.Replace(
input: inputFieldValue,
pattern: ValidCharPattern,
replacement: String.Empty)
.Distinct();