繁体   English   中英

如何在MVC中使用复选框验证文本框?

[英]How to validate textbox with checkbox in MVC?

我有这个ViewModel

   public string Address { get; set; }
   [DisplayName("Do you want Reward?")]
   public bool IsReward { get; set; }

   [Range(0,int.MaxValue,ErrorMessage="Please enter integer number")]

   [DisplayName("Reward")]
   public int Reward { get; set; }

在“视图IsReward属性中,默认情况下未选中IsReward属性,当用户选中“ Isreward并发布视图时,如果“ Reward文本框为空,则向用户显示错误消息“请输入奖励”。

如何使用DataAnnotation验证它?

请尝试以下代码。 如果IsReward为true并且Reward文本框值为零,它将显示错误消息。

    [RewardValidation]
    public class RewardModel
    {
        public string Address { get; set; }
        [DisplayName("Do you want Reward ؟")]
        public bool IsReward { get; set; }

        [Range(0, int.MaxValue, ErrorMessage = "Please enter integer number")]

        [DisplayName("Reward")]
        public int Reward { get; set; }
    }

public class RewardValidation : ValidationAttribute
{
    public override bool IsValid(object value)
    {
        RewardModel app = value as RewardModel;
        if (app.IsReward && app.Reward==0)
        {
            ErrorMessage = "please enter Reward";

            return false;
        }
        return true;
    }
}

并在视图中包含@Html.ValidationSummary(true)以显示消息

暂无
暂无

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

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