我希望字段允许正数。我尝试了以下尝试:
模型
[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只允许数字(很聪明),但仅仅是正数。
答案 0 :(得分:8)
这只接受正数。
System.ComponentModel.DataAnnotations
[Range(1, int.MaxValue, ErrorMessage = "Only positive number allowed")]
答案 1 :(得分:0)
这应该是正确的。
[Range(0, int.MaxValue, ErrorMessage = "Only positive number allowed.")]