asp.net mvc 4 - MVC4 model binding and int/decimal overflow -
let's created model property int? type. 
public class mymodel {     [range(-100, 100, errormessage="too large")]     public int? myvalue { get; set; } }   in view use text box in form post server.
    @using (html.beginform())     {         <p>enter value</p>         <div>@html.textboxfor(m => m.myvalue)</div>         <div>@html.validationmessagefor(m => m.myvalue)</div>         <input type="submit" value="submit" />     }   here controller code
public class homecontroller : controller {     public actionresult index()     {         var model = new mymodel();         return view(model);     }      [httppost]     public actionresult index(mymodel model)     {         return view(model);     } }   now if enter extremely large number in text box, e.g 111111111111111111111111111111111111111111111111111111111111111111111111111111, sure large integer data type. on post back, got message the value '111111111111111111111111111111111111111111111111111111111111111111111111111111' invalid.
but have no way use error message (localization , on) defined in model.
using system.componentmodel.dataannotations;     public class mymodel {     [range(int.minvalue, int.maxvalue)]     public int? myvalue {get; set; } }   that should trick.
Comments
Post a Comment