Надежная проверка MVC, если значение выше
У меня есть форма MVC с переключателями, указывающими тип бизнеса. Если тип бизнеса - "Ограниченный" или "ПЛК", в форме отображаются дополнительные регистрационные номера компании и поля адреса зарегистрированного офиса. Я хочу убедиться, что оба поля заполнены, если значение переключателя больше 2.
@Html.LabelFor(x => x.CorporateIdentityId, "Sole Trader")
@Html.RadioButtonFor(x => x.CorporateIdentityId, "1", new { @checked = "checked" })
@Html.LabelFor(x => x.CorporateIdentityId, "Partnership")
@Html.RadioButtonFor(x => x.CorporateIdentityId, "2")
@Html.LabelFor(x => x.CorporateIdentityId, "Limited Company")
@Html.RadioButtonFor(x => x.CorporateIdentityId, "3")
@Html.LabelFor(x => x.CorporateIdentityId, "Plc")
@Html.RadioButtonFor(x => x.CorporateIdentityId, "4")
Таким образом, я установил Foolproof Validation. Будучи дураком, я думал, что это было бы идеальным решением.
На мой взгляд модель у меня есть:
public int CorporateIdentityId { get; set; }
[Required]
[GreaterThan("CorporateIdentityId")]
[DisplayName("Reg Number")]
public string CompanyRegistration { get; set; }
Я хотел бы указать значение в атрибуте GreaterThan, то есть:
[GreaterThan ("CorporateIdentityId", "2")]
Но это не похоже на это. И, конечно, кажется, нет документации или примеров, как это сделать. Все примеры, кажется, просто показывают подразумеваемые значения - текущая дата, true / false и т. Д. Нет явных значений для сравнения.
Я просто спрашиваю слишком много о проверке надежности? Если так, есть ли альтернатива, которую я мог бы использовать?
1 ответ
Добавить конструктор в свой атрибут GreaterThanAttribute
public class GreaterThanAttribute : Attribute
{
private string _propertyName;
private string _propertyvalue;
public GreaterThanAttribute(string propertyName, string propertyvalue)
{
_propertyName = propertyName;
_propertyvalue = propertyvalue;
throw new NotImplementedException();
}
//your IsValid Logic