Вы можете использовать атрибут проверки [RegularExpression]
с регулярным выражением, в котором допускаются только буквы (от a
до z
и A
до Z
).
Пример:
public class InputModel
{
[Required]
[StringLength(50, ErrorMessage = "The {0} must be at least {2} and at max {1} characters long.", MinimumLength = 3)]
[DataType(DataType.Text)]
[Display(Name = "Name")]
[RegularExpression(@"^[a-zA-Z]+$", "Please only enter letters")]
public string Name { get; set; }
}
Но если вы действительно хотите использовать атрибут ввода pattern
при вводе, вы допустили небольшую ошибку в вашем шаблоне:
<input asp-for="Input.Name" class="form-control" pattern="[A-Za-z{3}]" />
должно быть:
<input asp-for="Input.Name" class="form-control" pattern="[A-Za-z]{3}" />
Обратите внимание на небольшую разницу в расположении {3}
(за пределами квадратных скобок).Обратитесь к этой документации для получения дополнительной информации: https://www.w3schools.com/tags/att_input_pattern.asp