Custom ValidationAttribute doesn't work

asp.net-mvc-3, c#, validationattribute

Solution

Try this

public class RollType : ValidationAttribute
{
   protected override ValidationResult IsValid(object value, ValidationContext validationContext)
   {
      return new ValidationResult("Something went wrong");
   }
}

Also do not forget to check if modelstate is valid in code behind or else it won't work, Example

    [HttpPost]
    public ActionResult Create(SomeObject object)
    {
        if (ModelState.IsValid)
        {
            //Insert code here
            return RedirectToAction("Index");
        }
        else
        {
            return View();
        }
    }

Problem

I tried to create a custom ValidationAttribute: ``` public class RollType : ValidationAttribute { public override bool IsValid(object value) { return false; // just for trying... } } ``` Then I created (in another class) - ``` [RollType] [Range(0,4)] public int? Try { get; set; } ``` on the view (I use MVC) I wrote: ``` <div class="editor-label"> Try: </div> <div class="editor-field"> @Html.EditorFor(model => model.Try) @Html.ValidationMessageFor(model => model.Try) </div> ``` The validation for "range" works great, but not for the custom one! What can be the problem?

Original source