, , .
:
[DefaultValueSql("'A'")]
[DefaultValue("A")]
[Required]
DefaultValueSql - , SQL . DefaultValue . , DRY, (, ).
/ ActionResult :
if (model.ActiveIndicator == null)
{
model.ActiveIndicator = ((DefaultValueAttribute)(model.GetType().GetProperty("ActiveIndicator").GetCustomAttributes(typeof(DefaultValueAttribute), true).First())).Value.ToString();
ModelState["ActiveIndicator"].Errors.Clear();
}
DefaultValue, , ModelState , ModelState.IsValid .
, (, ), , -, , .
: TryUpdateModel, ModelState :
if (model.ActiveIndicator == null)
{
var defValue = ((DefaultValueAttribute)(model.GetType().GetProperty("ActiveIndicator").GetCustomAttributes(typeof(DefaultValueAttribute), true).First())).Value.ToString();
ModelState.SetModelValue("ActiveIndicator", new ValueProviderResult(defValue, "", CultureInfo.InvariantCulture));
ModelState["ActiveIndicator"].Errors.Clear();
}