c# - How do I validate a checkbox value in ASP.NET MVC? -
i have following viewmodel
public class reportfilters { [required] public datetime { get; set; } [required] public datetime { get; set; } [required] public int userid { get; set; } public bool iscorrect { get; set; } } i pass either value 1 or 0 when call route iscorrect modelstate.isvalid returning false.
this started happen after added public bool iscorrect { get; set; }
here how controller action
[httppost] [validateantiforgerytoken] public jsonresult gettotals([bind(include = "from,to,userid,iscorrect ")] reportfilters reportfilters) { if (modelstate.isvalid) { somemodel results; if(reportfilters.iscorrect) { results = conn.database.sqlquery<somemodel>(somequery, from, to).tolist(); } else { results = conn.database.sqlquery<somemodel>(someotherquery, from, to).tolist(); } return json(results, jsonrequestbehavior.allowget); } return json(new { }, jsonrequestbehavior.allowget); } question
how can correctly validate value of check box? if value 1 should true otherwise false.
ensure passing parameters properly
have tried passing true or false explicitly (i.e. controller/action?iscorrect=true) opposed 0 or 1?
a checkbox should bind directly boolean value. you'll need ensure name attribute of checkbox matches parameter or model property (i.e. iscorrect) :
<!-- using plain checkbox --> <input name='iscorrect' type='checkbox' /> <!-- using html helper --> @html.checkbox("iscorrect") you can see working example demonstrating this below :

Comments
Post a Comment