По вашему требованию вы можете реализовать RequiredAttribute, IClientModelValidator
как
public class DefaultRequiredAttribute: RequiredAttribute, IClientModelValidator
{
public DefaultRequiredAttribute()
{
ErrorMessage = "This field is required";
}
public void AddValidation(ClientModelValidationContext context)
{
MergeAttribute(context.Attributes, "data-val", "true");
MergeAttribute(context.Attributes, "data-val-required", ErrorMessage);
}
private bool MergeAttribute(IDictionary<string, string> attributes, string key, string value)
{
if (attributes.ContainsKey(key))
{
return false;
}
attributes.Add(key, value);
return true;
}
}
и использовать как
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
[DefaultRequired]
public string UserImage { get; set; }
}