Я студент колледжа, работающий с Asp.net MVC, мне нужно настроить пользовательскую проверку, которая предотвращает ввод определенных символов, например @ # $% * и т. Д. Для определенного поля. Я знаю, что пользовательские проверки - это немного хлопотно, но это то, к чему призывает эта часть назначения. Я не возражаю против того, чтобы печатать одним пальцем, но колледж получает все удовольствие от изучения любой темы программирования или языка, потому что я не могу тратить столько времени, сколько хочу научиться умелой реализации концепций. В этом случае пользовательская проверка.
Я уже создал класс InvalidCharsAttribute и уже добавил необходимое поле в необходимый класс следующим образом ...
InvalidCharsAttribute.cs
using System.ComponentModel.DataAnnotations;
namespace EnrollmentApplication.Models
{
public class InvalidCharsAttribute : ValidationAttribute
{
readonly string invalidChars;
public InvalidCharsAttribute(string invalidChars)
{
this.invalidChars = invalidChars;
}
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
if (value != null)
{
if ((string)value == invalidChars)
{
return new ValidationResult("Notes contains unacceptable characters");
}
}
return ValidationResult.Success;
}
}
Поле для проверки на наличие недопустимых символов
[InvalidChars(@"[*&%#@$^!]", ErrorMessage = "*&%#@$^! are invalid characters")]
public virtual string Notes { get; set; }
Я знаю, что if ((string)value == invalidChars)
не так, я просто не уверен, как переписать / добавитькод, так что моя пользовательская проверка работает. Самое простое решение было бы здорово.