は私のバージョンは前の回答に基づいて、です(ただし、両方の作業を属性クライアント/サーバー側):
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
public class RangeYearToCurrent : RangeAttribute,IClientValidatable {
public RangeYearToCurrent(int from) : base(from, DateTime.Today.Year) { }
#region IClientValidatable Members
public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
{
var rules = new ModelClientValidationRangeRule(this.ErrorMessage, this.Minimum, this.Maximum);
yield return rules;
}
#endregion
}
使用Exemple:
[RangeYearToCurrent(1995, ErrorMessage = "Invalid Date")]
public int? Year { get; set; }
どのようにこのクラスを使用して範囲を指定しますか? –
RangeYearToCurrent(1910) public int Year {get;セット; } –
誰かが実用的なソリューションを投稿できますか? – Burjua