2014-09-04 2 views
0

Я хочу реализовать нулевую или менее нулевую проверку i.e Пользователь не должен ставить значение 0 или меньше. Для этого я использовал следующий код следующим образом:Custom Validation for Zero value

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; 


     } 
    } 

и

[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) 

ответ

0
public class PosNumberNoZeroAttribute : ValidationAttribute 
    { 
     protected override ValidationResult IsValid(object value, ValidationContext validationContext) 
     { 
      return (decmial)value > 0; 
     } 
    } 

object value ваше decimal значение. Если значение больше чем ноль то оно действительный.

+0

Мой код id работает красиво, но когда он возвращается как возвращаемый новый ValidationResult («Значение не может быть нулевым»); затем также он отправляется на сервер .. – SantyEssac

+0

Что я не получаю, мне нужно включить в View? – SantyEssac

+0

Должен ли я включать что-то в представление? – SantyEssac