Jquery 零值的自定义验证
我想实现零或小于零的验证,即用户不能将值设置为0或小于0。 为此,我使用了以下代码:Jquery 零值的自定义验证,jquery,asp.net-mvc-3,Jquery,Asp.net Mvc 3,我想实现零或小于零的验证,即用户不能将值设置为0或小于0。 为此,我使用了以下代码: public class PosNumberNoZeroAttribute : ValidationAttribute { protected override ValidationResult IsValid(object value, ValidationContext validationContext) { int getal;
public class PosNumberNoZeroAttribute : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
int getal;
if (int.TryParse(value.ToString(), out getal))
{
if (getal == 0)
return new ValidationResult("Value can not be Zero");
if (getal > 0)
return ValidationResult.Success;
}
return ValidationResult.Success;
}
}
及
视图:
对象值是您的十进制值。如果值大于零,则它是有效的。我的代码id工作正常,但当它返回为return时,new ValidationResultValue不能为零;然后它也会被发布到服务器上。如果我没有得到,我必须在视图中包含吗?我应该在视图中包含一些内容吗?@SantyEssac,你的代码工作得如何?如果输入负数,则返回ValidationResult.Success;你测试的唯一一件事是,如果值等于零,不小于或等于零,是的,你是对的。但是当条件为零值为真时,它也必须在视图中给出验证错误,我说我的代码工作得很好,这意味着条件为真,函数返回为新返回ValidationResultValue不能为零;然后,我也没有得到错误的页面,如前所述。
[PosNumberNoZero(ErrorMessage = "need a positive number, bigger than 0")]
public decimal AmountReceivedByToAccount { get; set; }
@Html.TextBoxFor(m => m.AmountReceivedByToAccount, new { style = "max-width:144%;width:132%;" })
@Html.ValidationMessageFor(m => m.AmountReceivedByToAccount)
public class PosNumberNoZeroAttribute : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
return (decmial)value > 0;
}
}