3

こんにちは、ASPNET MVC 4 プロジェクトに IValidableObject インターフェイスを実装しようとしています。フレームワークが検証メソッドを実行すると、validationContext が表示されず、次のエラーが表示されます: validationContext Cannot access a non static member of outside type 'AS.Core.Model.Horario.Validate' via nested type 「AS.Core.Model.ホラリオ」

問題が別々のアセンブリに関するものであることは明らかですが、これを機能させるために何をすべきかわかりません。誰かが私を助けることができますか?

これは私のコードです:

public class Horario : IValidatableObject
{
    [Range(0, 6, ErrorMessage = "Dia inválido")]
    public byte Dia { get; set; }

    [DataType(DataType.Time, ErrorMessage = "Horário de início inválido")]
    public TimeSpan? HorarioInicio { get; set; }

    [DataType(DataType.Time, ErrorMessage = "Horário fim inválido")]
    public TimeSpan? HorarioFim { get; set; }

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        if (HorarioInicio != null && HorarioFim == null || HorarioFim != null && HorarioInicio == null)
        {
            yield return new ValidationResult("Horário inválido");
        }
    }
}
4

1 に答える 1

0

IValidatableObjectとなるViewModelを記述し、検証後にコントローラー内のビジネスモデルにデータを移動する必要があります。

于 2012-08-01T19:49:53.343 に答える