加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何在asp.net mvc 5中只允许在editorforfield中输入正数

发布时间:2020-12-15 23:40:33 所属栏目:百科 来源:网络整理
导读:我想要一个字段允许正数.我试过以下尝试: 模型 [Required][GreaterThanZero(ErrorMessage = "Only positive number allowed.")]public int PositiveNumber { get; set; } 视图 div class="form-group" @Html.LabelFor(model = model.PositiveNumber,htmlAtt
我想要一个字段允许正数.我试过以下尝试:

模型

[Required]
[GreaterThanZero(ErrorMessage = "Only positive number allowed.")]
public int PositiveNumber { get; set; }

视图

<div class="form-group">
            @Html.LabelFor(model => model.PositiveNumber,htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(m => m.PositiveNumber)
                @Html.ValidationMessageFor(model => model.PositiveNumber,"*",new { @class = "text-danger" })
            </div>
        </div>

自定义验证

public class GreaterThanZero : ValidationAttribute
    {
        public override bool IsValid(object value)
        {
            var x = (int)value;
            return x > 0;
        }
    }

问题:以上解决方案正常.我想知道有没有简单的方法来实现它.通过使用一些内置的框架注释/帮助甚至FoolProof?

请注意:使用editorfor只允许数字(它很聪明),但只是正数.

解决方法

这只接受正数.

System.ComponentModel.DataAnnotations
 [Range(1,int.MaxValue,ErrorMessage = "Only positive number allowed")]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读