У меня есть модель, подобная следующей
public class TaskModel
{
public int UserId { get; set; }
public int CustomerId { get; set; }
public string CustomerDescription { get; set; }
/* Snip */
}
Как добавить проверку, чтобы на стороне клиента скрытое поле, представляющее CustomerId
, было больше нуля?
@Html.LabelFor(x => x.CustomerId)
@Html.HiddenFor(x => x.CustomerId)
<label id="customerName" class="description">
@Model.CustomerName
</label>
Просто чтобы объяснить, что происходит выше;Я использую всплывающее окно для выбора клиента из списка, который затем заполняет скрытое поле идентификатором клиента и обновляет описание метки для клиента, которого представляет этот идентификатор.Я делаю это таким образом, чтобы избежать ненужного поста и вызова базы данных.
Я не хочу публиковать данные формы, чтобы определить, больше ли ID, чем 0. Есть ли простой способ добавить это как атрибут в модель и обработать ли он на стороне клиента?Я написал следующий атрибут Validation, но я не знаю, как заставить его работать на клиентской стороне.
public class ValidIDAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
if (value == null)
{
return false;
}
else
{
if (value.GetType() == typeof(int))
{
return (int)value > 0;
}
else if (value.GetType() == typeof(Guid))
{
return (Guid)value != Guid.Empty;
}
return false;
}
}
}