StringLength
прекрасно работает, я использовал его следующим образом:
[StringLength(25,MinimumLength=1,ErrorMessage="Sorry only 25 characters allowed for
ProductName")]
public string ProductName { get; set; }
или Просто используйте RegularExpression
без StringLength:
[RegularExpression(@"^[a-zA-Z0-9'@&#.\s]{1,25}$", ErrorMessage = "Reg Says Sorry only 25
characters allowed for ProductName")]
public string ProductName { get; set; }
, но длявышеупомянутые методы дали ошибку в представлении отображения, потому что у меня уже было поле ProductName в базе данных, которое содержало более 25 символов
, поэтому в конце концов я наткнулся на этот и этот пости попытался проверить без модели, подобной этой :
<div class="editor-field">
@Html.TextBoxFor(model => model.ProductName, new
{
@class = "form-control",
data_val = "true",
data_val_length = "Sorry only 25 characters allowed for ProductName",
data_val_length_max = "25",
data_val_length_min = "1"
})
<span class="validation"> @Html.ValidationMessageFor(model => model.ProductName)</span>
</div>
, это решило мою проблему, вы также можете выполнить проверку вручную, используя jquery или ModelState.AddModelError
надежда помогает кому-то.