MikeTWebb
MikeTWebb

Reputation: 9279

MVC3 C# Disabling the Validation Messages on Cancel

I have an MVC2 C# .Net Web App. We are using the built in MVC3 Validation using the Domain class properties [Required(ErrorMessage = "Start From is required.")] and in the HTML @Html.ValidationMessageFor(model => model.StartFrom)

However, when we submit the page using the Cancel button, the validation is fired stating the "Start From is Required" and therefore not exiting the page. How can I disable the Validation on the Cancel button? Or submit the page without firing the Validation?

Upvotes: 1

Views: 2334

Answers (2)

MikeTWebb
MikeTWebb

Reputation: 9279

I found an answer here, on Stackoverflow :) jQuery disable validation Each of the first two answers in that link worked for me. @Karthik, thanks for the answer. It got me on the right track

Answer 1:

<input id = "theCancel" class="cancel" type="submit" value="Cancel" />

Answer 2:

$(function () {
    $('#theCancel').click(function (e) {
        $("form").validate().cancelSubmit = true;
    });
});

I chose answer 2 and put it in our global js file. All of our Cancel buttons have an id of "theCancel"

Upvotes: 0

Karthik Chintala
Karthik Chintala

Reputation: 5545

I think you need to override the default behaviour of the submit button i.e., Cancel button in your case.

Say you have the cancel button like this:

<input type="submit" id="btnCancel" value="cancel"/>

now write the jQuery to override the default behaviour

$(function(){
    $('#btnCancel').click(function(e){
        e.preventDefault();
        //or you can return false from this method.
        //return false;
    });
});

Upvotes: 1

Related Questions