Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 零值的自定义验证_Jquery_Asp.net Mvc 3 - Fatal编程技术网

Jquery 零值的自定义验证

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;

我想实现零或小于零的验证,即用户不能将值设置为0或小于0。 为此,我使用了以下代码:

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;
        }
    }