Flo*_*ind 0 c# regex asp.net-mvc unobtrusive-validation
我不确定这是否可以通过Regex Edit Alone实现.我需要在我的MVC视图中验证整数字段值为10的倍数.这是通过单独的正则表达式和不引人注意的验证来实现的吗?
像这样的模式应该工作:
^[0-9]*0$
Run Code Online (Sandbox Code Playgroud)
当然这将允许0.如果您想确保输入大于或等于10,可以使用:
^[1-9][0-9]*0$
Run Code Online (Sandbox Code Playgroud)
但是,这不会处理在不同数字系统中表示的数字(例如10,我相信在东方阿拉伯数字中为10 ).最好创建一个自定义验证属性来测试输入的值.一个简单的实现看起来有点像这样:
public class MultipleOf10Attribute : ValidationAttribute
{
public override bool IsValid(object value)
{
return ((int)value) % 10 == 0;
}
}
Run Code Online (Sandbox Code Playgroud)