我的字段只需要数字。
我正在寻找验证此字段以接受超过0且不接受字符输入的方法
我在模型中有以下字段定义:
[Range(1,int.MaxValue, ErrorMessage="Value must be at least 1")]
[RegularExpression("([1-9][0-9]*)", ErrorMessage="Must be numeric")]
public int SortOrder { get; set; }
以及cshtml文件中的以下内容:
@Html.LabelFor(model => model.SortOrder)
@Html.EditorFor(model => model.SortOrder)
@Html.ValidationMessageFor(model => model.SortOrder,"*")
一切似乎都是正确的,但是,当我尝试输入字符时,我有一个验证错误,说“需要SortOrder字段”
我需要此消息说“必须是数字”
我在这里缺少什么?
谢谢
答案 0 :(得分:0)
您可以将特定错误消息与[Required]
属性相关联。请注意,[RegularExpression]
属性不是必需的(它实际上只是重复[Range]
属性)
[Required(ErrorMessage = "Must be numeric")]
[Range(1,int.MaxValue, ErrorMessage="Value must be at least 1")]
public int SortOrder { get; set; }
输入非数字值时“需要SortOrder字段”的原因是它未通过“必需”验证(必须为数字int
})但它不是数字)并显示默认的“必需”错误消息。