1

ビューモデルがあります

public class TrainingProgramScheduledDateVM
  {

public bool IsTuesday { get; set; }

    [DataType(DataType.Time)]
    public string TueStartTime { get; set; }
    [DataType(DataType.Time)]
    public string TueEndTime { get; set; }

    public bool IsWednesday { get; set; }

    [DataType(DataType.Time)]
    public string WedStartTime { get; set; }
    [DataType(DataType.Time)]
    public string WedEndTime { get; set; }

    public bool IsThursday { get; set; }

    [DataType(DataType.Time)]
    public string ThuStartTime { get; set; }
    [DataType(DataType.Time)]
    public string ThuEndTime { get; set; }

  }

私は検証をそのようにしたい。1- IsTuesday = true の場合、TueStartTime と TueEndTime は Requires である必要があります。などなど

2- 少なくとも 1 つのブール値が true である必要があり、関連する時間が必要です。

簡単な方法を教えてください。

ありがとう

4

2 に答える 2

1

リモート検証を使用します。たとえば、ここ

        [Remote(
        "doesProductNameExistUnderCategory", 
        "Northwind", 
        AdditionalFields = "Category_ID",
        ErrorMessage = "Product name already exists under the chosen category. Please enter a different product name.",
        HttpMethod = "POST"
    )]
    [Required]
    public string Product_Name { get; set; }
于 2013-05-22T11:02:19.860 に答える
0

繰り返しが見えます。このブロック:

public bool IsTuesday { get; set; }

[DataType(DataType.Time)]
public string TueStartTime { get; set; }
[DataType(DataType.Time)]
public string TueEndTime { get; set; }

次のように、独自の型に抽象化することをお勧めします。

public class ScheduleDate
{
    public DayOfWeek DayOfWeek { get; set; }

    public bool IsSelected { get; set; }

    [DataType(DataType.Time)]
    [RequiredIf(IsSelected)]
    public string StartTime { get; set; }

    [DataType(DataType.Time)]
    [RequiredIf(IsSelected)]
    public string EndTime { get; set; }
}

次に、オブジェクトTrainingProgramScheduledDateVMのリストを含めることができScheduleDateます。

于 2013-05-22T10:59:31.280 に答える