0

私のモデル:

public class FPTAssetSummary : IValidatableObject
    {
    [Required]
    [Display(Name = "New Version")]
    public int ForatFrom { get; set; }

    [Required]
    [Display(Name = "Old Version")]
    public int ForatTo { get; set; }

    public List<FPTFORATExcel> FPTForatVersionList { get; set; }

    public IEnumerable<ValidationResult> Validate(
        ValidationContext validationContext)
    {
        if (ForatFrom <= ForatTo)
        {
            yield return new ValidationResult(
                "Old version must be higher than the new version");
        }
    }
}

私のコントローラー:

    [HttpPost]
    public ActionResult ForatExcelCompare(FPTAssetSummary foratcompare)
    {

        var ExcelIDFrom = foratcompare.ForatFrom;
        var ExcelIDTo = foratcompare.ForatTo;

        return RedirectToAction("Index", new
        {
            ForatFrom = ExcelIDFrom,
            ForatTo = ExcelIDTo
        });
    }

現在、ビュー (2 つのドロップダウン ボックス) から 2 つの整数を下のコントローラーに投稿し、2 つの値を 2 つのパラメーター (ForatFromおよびForatTo) を使用してインデックスに渡しています。ただし、私のIValidationObjectメソッドはValidationResultメッセージを返しません。メソッドでモデルの状態を確認する必要があると思いますForatExcelCompareが、モデルの状態が false の場合、エラー メッセージを表示して前のコントローラーに戻れるようにする必要があります。何か案は?

4

0 に答える 0