繁体   English   中英

我必须验证.NET MVC中的文本框,其中文本框的值小于或等于两个列值的差?

[英]I have to validate a text box in .NET MVC where the text box value is less than or equal the difference of two column values?

必须验证文本框字段,以使该值必须小于或等于计算值(两个列值之间的差异)。 例如,我有两列TodaysDateTime和TomorrowsDateTime这两者之间的差以分钟为单位计算,该分钟值是文本框的最大值。

提前致谢!

if(Convert.ToInt32(textbox1.Text) <= (TomorrowsDateTime - TodaysDateTime))
{
    // show alert or error dialogue
}

是。 您可以使用自定义验证在模型级别进行验证

(假设您已准备好相应地准备模型,即ViewModel )。

您的模型:

 [testValidator]
    public partial class Cal
    {
        public DateTime todayDateTime { get; set; }
        public DateTime tommorwDateTime { get; set; }
        public int result {get; set;}
    }

CustomValidator:

   class testValidator : AbstractValidator<test>
   {
    public override ValidationResult Validate(test obj)
    {

    if(Convert.ToInt32(obj.result ) <= (todayDateTime  - tommorwDateTime ))
        {
            return ValidationResult.Success;  
        }
    else
        {
            return new ValidationResult("Please Enter a Valid Dates.");  
        }

    }

}

在您的控制器上。 您可以简单地检查Model.IsValid

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM