Обновление - для этой спецификации c ThatField, я также использовал собственный валидатор, и кажется, что оба валидатора будут запущены. Таким образом, даже если значение не указано, мой пользовательский валидатор все еще работал и не работал из-за нулевого значения. Другими словами, [Обязательно] прекрасно работает для этого поля.
Это работает:
[Required]
public string ThatField { get; set; }
Это не:
[Required, CustomAttribute("valueA", "valueB", "valueC")]
public string ThatField { get; set; }