Search Results

Search found 246 results on 10 pages for 'modelstate'.

Page 6/10 | < Previous Page | 2 3 4 5 6 7 8 9 10  | Next Page >

  • Model Not Valid Even With No [Required] Attribute

    - by griegs
    I have a model which is validating as False even though I have no validation rules attached to it what so ever. So this is my model; public class QuickQuote { public Enumerations.AUSTRALIA_STATES state { get; set; } public Enumerations.FAMILY_TYPE familyType { get; set; } public Enumerations.CoverLevel hospitalCover { get; set; } public Enumerations.CoverLevel extrasCover { get; set; } public Enumerations.YesNo pregnancy { get; set; } } And in my controller I have; [AcceptVerbs(HttpVerbs.Post)] public ActionResult Index(IndexFormViewModel fvm) { if (!ModelState.IsValid) return View(fvm); The problem is that unless I put a value into each field it's validating as false even though it shouldn't care. Can anyone see what the problem is here?

    Read the article

  • Simple ASP.Net MVC 1.0 Validation

    - by Mike
    On the current project we are working on we haven't upgraded to MVC 2.0 yet so I'm working on implementing some simple validation with the tools available in 1.0. I'm looking for feedback on the way I'm doing this. I have a model that represents a user profile. Inside that model I have a method that will validate all the fields and such. What I want to do is pass a controller to the validation method so that the model can set the model validation property in the controller. The goal is to get the validation from the controller into the model. Here is a quick example public FooController : Controller { public ActionResult Edit(User user) { user.ValidateModel(this); if (ModelState.IsValid) ....... ....... } } And my model validation signature is like public void ValidateModel(Controller currentState) What issues can you see with this? Am I way out to lunch on how I want to do this?

    Read the article

  • Asp.Net MVC does automatic model validation for DateTime but no others

    - by MattSlay
    I'm using MVC 2 with some Models from a LinqToSql project that I built. I see that when I post back to a Controller Action after editing a form that has a DateTime field from the Model, the MVC Html.ValidationMessageFor() helper will nicely display an error beside the Date text box. This seems to happen automatically when the you test ModelState.IsValid() in the Controller Action, as if the MVC model binding automatically knows that the DateTime field cannot be empty. My question is... I have some other string fields in these LinqToSql generated classes that are Not-Nullable (marked as Not Nullable in Sql Server which passes thourgh to the LinqToSql generated classes), so why doesn't Mr. MVC pick up on those as well and display a "Required" message in the ValidationMessageFor() placeholders I have added for those fields? Sure, I have successfully added the MetadataType(typeof) buddy classes to cover these Non-nullable string fields, but it sure does seem redundant to add all this metadata in buddy classes when the LinqToSql generated classes already contain enough info that MVC could sniff out. It MVC validation works with DateTime automatically, why not these Not-nullable fields too?

    Read the article

  • Validate a single property with the Fluent Validation Library for .Net

    - by Blegger
    Can you validate just a single property with the Fluent Validation Library, and if so how? I thought this discussion thread from January of 2009 showed me how to do it via the following syntax: validator.Validate(new Person(), x => x.Surname); Unfortunately it doesn't appear this works in the current version of the library. One other thing that led me to believe that validating a single property might be possible is the following quote from Jeremy Skinners' blog post: "Finally, I added the ability to be able to execute some of FluentValidation’s Property Validators without needing to validate the entire object. This means it is now possible to stop the default “A value was required” message from being added to ModelState. " However I do not know if that necessarily means it supports just validating a single property or the fact that you can tell the validation library to stop validating after the first validation error.

    Read the article

  • Asp.Net MVC - Blank model not returning blank data

    - by Pino
    I have a form which a user can fill in x times with the data they want too. The form is posted to the following Action. [HttpPost] public ActionResult Manage(ProductOptionModel DataToAdd) { if (!ModelState.IsValid) { return View(DataToAdd); } var ProdServ = new ProductService(); if (DataToAdd.ID != 0) { //Edit Mode. DataToAdd = ProdServ.EditProductOption(DataToAdd); ViewData["Message"] = "Option Changes Made"; }else { //Add DataToAdd = ProdServ.AddProductOption(DataToAdd); ViewData["Message"] = "New Option Added"; } var RetModel = new ProductOptionModel() {ProductID = DataToAdd.ProductID}; return View(RetModel); } So at the bottom I blank the model (Leaving just the required field) and then return to the view. However the view holds the data from the previously submitted form. Any ideas why? I have debugged the code and checked that the RetModel variable is empty.

    Read the article

  • sharp architecture question, nhibernate validation

    - by csetzkorn
    I have marked certain properties in my domain object for the nhibernate validation 'framework'. If I do this in my controller explicitly: ICollection<IValidationResult> test = bla.ValidationResults(); I get the validation errors which I could add to my asp.net mvc modelstate ideally, i would like an exception being thrown during: bla = blaRepository.SaveOrUpdate(bla); if i try to save or update the domain object. why is this not happening? my domain object bla derives from Entity. do I have to register something somehow? Thanks. christian

    Read the article

  • MVC architectural question - Where should payment processing go?

    - by Keltex
    This question is related to my ASP.NET MVC 2 development, but it could apply to any MVC environment and a question of where the logic should go. So let's say I have a controller that takes an online payment such as a shopping cart application. And I have the method that accepts the customers' credit card information: public class CartController : Controller CartRepository cartRepository = new CartRepository() [HttpPost] public ActionResult Payment(PaymentViewModel rec) { if(!ModelState.IsValid) { return View(rec); } // process payment here return RedirectToAction("Receipt"); } At the comment process payment here should the payment processing be handled: In the controller? By the repository? Someplace else?

    Read the article

  • Validating only selected fields using ASP.NET MVC 2 and Data Annotations

    - by thinknow
    I'm using Data Annotations with ASP.NET MVC 2 as demonstrated in this post: http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx Everything works fine when creating / updating an entity where all required property values are specified in the form and valid. However, what if I only want to update some of the fields? For example, let's say I have an Account entity with 20 fields, but I only want to update Username and Password? ModelState.IsValid validates against all the properties, regardless of whether they are referenced in the submitted form. How can I get it to validate only the fields that are referenced in the form?

    Read the article

  • html.checkbox - explicit value to hidden field value

    - by Tassadaque
    Hi I am creating list of checkboxes in partial view by follwoing http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/ code and Rendered HTML for checkboxes is as follows <%=Html.CheckBox("EmployeeID", new { value = user.EmployeeID, @class = "ccboxes", title = user.Designation + "(" + user.EmployeeName + ")" })%> <INPUT id=MemoUsers_a29f82e4-ebbc-47b0-8cdd-7d54f94143be__EmployeeID class=boxes title=Programmer(Zia) value=6 type=checkbox name=MemoUsers[a29f82e4-ebbc-47b0-8cdd-7d54f94143be].EmployeeID jQuery1276681299292="27"> <INPUT value=false type=hidden name=MemoUsers[a29f82e4-ebbc-47b0-8cdd-7d54f94143be].EmployeeID> In rendered html it can be seen that value attribute of hidden field is false. i want to assign explicit value(same as checkbox value) to this value. Is this possible using html.checkbox or html.checkboxfor. one way is recommended in http://stackoverflow.com/questions/626901/asp-net-mvc-rc2-checkboxes-with-explicit-values. Is there any other better way i want to do this as ModelState.IsValid is returning false because of hidden field value attribute Regards

    Read the article

  • Returning a JSON view in combination with a boolean

    - by Rody van Sambeek
    What i would like to accomplish is that a partiel view contains a form. This form is posted using JQuery $.post. After a successfull post javascript picks up the result and uses JQuery's html() method to fill a container with the result. However now I don't want to return the Partial View, but a JSON object containing that partial view and some other object (Success - bool in this case). I tried it with the following code: [AcceptVerbs(HttpVerbs.Post)] public ActionResult Edit(int id, Item item) { if (ModelState.IsValid) { try { // ... return Json(new { Success = true, PartialView = PartialView("Edit", item) }); } catch(Exception ex) { // ... } } return Json(new { Success = false, PartialView = PartialView("Edit", item) }); } However I don't get the HTML in this JSON object and can't use html() to show the result. I tried using this method to render the partial as Html and send that. However this fails on the RenderControl(tw) method with a: The method or operation is not implemented.

    Read the article

  • MVC Client Validation from Service Layer

    - by GibboK
    I'm following this article http://www.asp.net/mvc/tutorials/older-versions/models-(data)/validating-with-a-service-layer-cs to include a Service Layer with Business Logic in my MVC Web Application. I'm able to pass messages from the Service Layer to the View Model in a Html.ValidationSummary using ModelState Class. I perform basic validation logic on the View Model (using DataAnnotation attributes) and I have ClientValidation enabled by default which displaying the error message on every single field of my form. The Business logic error message which come from the Service Layer are being displayed on Html.ValidationSummary only after Posting the form to the Server. After Validation from the Service Layer I would like highlight one or more fields and have the message from the Service Layer showing on these fields instead that the Html.ValidationSummary. Any idea how to do it? Thanks

    Read the article

  • How ASP.NET MVC passes model to the view without explicitly passing it

    - by Vlad Bezden
    Here is one of the examples that I've seen on how to do validation on Controller: [HttpPost] public ViewResult Create(MyModel response) { if (ModelState.IsValid) { return View("Thanks"); } else { return View(); } } If there are validation errors, than return View() method is called without any parameters. Obviesly you have @Html.ValidationSummary() in your View and Model has all required properties attributes. The data that was entered into the form was preserved and displayed again when the view was rendered with the validation summary. My question is how data preserved? Since it was not passed to the View like return View(response); Thanks a lot. Sincerely, Vlad

    Read the article

  • ASP MVC 2: Regular expression attribute working on clientside but not on serverside

    - by wh0emPah
    [Required(ErrorMessage = "Date is required")] [RegularExpression(@"^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((1[6-9]|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((1[6-9]|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$", ErrorMessage="Date is not valid must be like (dd/mm/jjjj)")] public DateTime Startdate{ get; set;} The client-side validation works perfectly. So it seems that JavaScript can successfully understand my regular expression. But when I do a postback, and the modelstate.Isvalid() gets called. My date isn't valid anymore. So I'm guessing that when .NET performs the matching with the regEx it doesn't match. My question: Why does this regular expression match on the client side but not on the server side?

    Read the article

  • ASP.NET MVC & ADO.NET Entity Framework clientside validation

    - by JK
    Using aspnet mvc2 with the model auto-generated by entity framework: Is it possible to tell entity framework to auto-annotate all fields? eg: If database field says not null then add [Required] If DB field is a nvarchar(x) then add [StringLength(x)] And so on? What if the field name contains the string "email" eg CustomerEmail - can I get EF to auto-annotate that with an appropriate annotation ([Regex()] maybe) As I understand it, if the model fields are annotated, and I use both Html.ValidationMessageFor() and use if (ModelState.IsValid) in my controller, then that is all I need to do to have basic clientside input validation working? Thanks

    Read the article

  • Custom validation summary

    - by Robert Morgan
    I'm using the UpdateModel method for validation. How do I specify the text for the error messages as they appear in the validation summary? Sorry, I wasn't entirely clear. When I call UpdateModel(), if there is parsing error, for example if a string value is specified for a double field, a "SomeProperty is invalid" error message is automatically added to the ModelState. How do I specify the text for said automatically generated error message? If I implement IDataErrorInfo as suggested, it's error message property gets called for every column, regardless of whether the default binder deems it valid or not. I'd have to reimplement the parse error catching functionality that I get for free with the default binder. Incidentally, the default "SomeProperty is invalid" error messages seem to have mysteriously dissappeared in the RC. A validation summary appears and the relevant fields are highlighted but the text is missing! Any idea why this is? Thanks again and I hope all this waffle makes sense!

    Read the article

  • Preventing EF4 ConstraintException when invoking TryUpdateModel

    - by twk
    Given following ASP.NET MVC controller code: [HttpPost] public ActionResult Create(FormCollection collection) { string[] whitelist = new []{ "CompanyName", "Address1", "Address2", ... }; Partner newPartner = new Partner(); if (TryUpdateModel(newPartner, whitelist, collection)) { var db = new mainEntities(); db.Partners.AddObject(newPartner); db.SaveChanges(); return RedirectToAction("Details/" + newPartner.ID); } else { return View(); } } The problem is with the Entity Framework 4: the example Partner entity is mapped to a database table with it's fields NOT ALLOWED to be NULL (which is ok by design - they're required). Unfortunately, invoking TryUpdateModel when some of the properties are nulls produces ConstraintException which is not expected! I do expect that TryUpdateModel return false in this case. It is ok that EF wouldn't allow set a property value to null if it should not be, but the TryUpdateMethod should handle that, and add the error to ModelState errors collection. I am wrong, or somebody screwed the implementation of TryUpdateModel method?

    Read the article

  • Why doesn't Request.IsAjaxRequest() work in ASP.NET MVC 3?

    - by Rob Ellis
    I'm creating a new project, asp.net mvc3 with Razor, and wanting to turn the LogOn into an ajax request. HTML @using (Ajax.BeginForm("LogOn", "Account", new AjaxOptions { HttpMethod="post", OnSuccess="LoginSubmitted"})) { } Controller if (Request.IsAjaxRequest()) { return Json(new { ResultMessage = "Username or password provided is incorrect"}); } else { ModelState.AddModelError("", "The user name or password provided is incorrect."); } Everything else remains the same. First, looking at the the http response with Fiddler, I notice there is no x-requested-with header. So I add <input type="hidden" name="X-Requested-With" value="XMLHttpRequest" /> That seems to work, but now what I receive back is a Json object, which isn't being parsed and instead Google Chrome is just rendering the Json to screen. Whats happening?

    Read the article

  • Jquery - How to make $.post() use contentType=application/json?

    - by JK.
    I've noticed that when using $.post() in jquery that the default contentType is application/x-www-form-urlencoded - when my asp.net mvc code needs to have contentType=application/json (See this question for why I must use application/json: http://stackoverflow.com/questions/2792603/aspnet-mvc-why-is-modelstate-isvalid-false-the-x-field-is-required-when-that) How can I make $.post() send contentType=application/json? I already have a large number of $.post() functions, so I don't want to change to $.ajax() because it would take too much time If I try $.post(url, data, function(), "json") It still has contentType=application/x-www-form-urlencoded. So what exactly does the "json" param do if it does not change the contenttype to json? If I try $.ajaxSetup({ contentType: "application/json; charset=utf-8" }); That works but affects every single $.get and $.post that I have and causes some to break. So is there some way that I can change the behavior of $.post() to send contentType=application/json?

    Read the article

  • Nullable enum in html helper

    - by Fabien Piron
    I have a view model that contains enum with nullable type like this one : public StudyLevel? studyLevel { get; set; } I have made custom html helper to display a dropdownlist for rendering the enum into the view, the nullable case is displayed using <option value="null">No value</option> the problem is that when i submit the form modelstate give me the error : studylevel cannot be "null" . Could you suggest me any way to help me handle the nullable type in the view ?

    Read the article

  • How to modify posted form data within controller action before sending to view?

    - by Gary
    I want to render the same view after a successful action (rather than use RedirectToAction), but I need to modify the model data that is rendered to that view. The following is a contrived example that demonstrates two methods that that do not work: [AcceptVerbs("POST")] public ActionResult EditProduct(int id, [Bind(Include="UnitPrice, ProductName")]Product product) { NORTHWNDEntities entities = new NORTHWNDEntities(); if (ModelState.IsValid) { var dbProduct = entities.ProductSet.First(p => p.ProductID == id); dbProduct.ProductName = product.ProductName; dbProduct.UnitPrice = product.UnitPrice; entities.SaveChanges(); } /* Neither of these work */ product.ProductName = "This has no effect"; ViewData["ProductName"] = "This has no effect either"; return View(product); } Does anyone know what the correct method is for accomplishing this?

    Read the article

  • Retain ViewData when editing variable length list

    - by Pieter
    I'm editing variable length lists and use ViewData to pass around information for filling a DropDownList. I use the method described here for editing these lists: http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/ The data for this dropdownlist comes from the database. As the ViewData is not available across requests, I currently do a new query to the database each and every time. This also happens when the ModelState is not valid and the form is redisplayed. Of course, this is less then ideal even for a light-weight query as this one. How can I retain the information from that query across requests as long as the user is editing the page with that variable length list?

    Read the article

  • Why input elements don't render the value passed in ASP.Net MVC?

    - by MediaSlayer
    This post asks this question but doesn't really give an answer, so I thought I would ask the question differently. I have a page that renders a hidden value from the model: <%=Html.Hidden("myName", model.myValue) %> Since I am passing a value in the value parameter, you would think it would output that value, but it doesn't. The code for rendering input fields has the following: string attemptedValue = (string)htmlHelper.GetModelStateValue(name, typeof(string)); tagBuilder.MergeAttribute("value", attemptedValue ?? ((useViewData) ? htmlHelper.EvalString(name) : valueParameter), isExplicitValue); Basically, if the ModelState (which contains posted values) contains a value for the "name" passed, it will use that value instead of your passed value to the helper method. In my case, I updated the model and my updated value wasn't outputted. If I pass a value to a method, I expect that value to be rendered. Am I missing something in this design or is it just wrong?

    Read the article

  • ASP.NET MVC 2 Model object validation

    - by Jimmy
    Hey guys, I'm trying to validate a model object outside of the context of ModelState within a controller, I currently have a parser that creates model objects from an excel file and I want to be able to report how many entries were added to the database and how many failed, is there a way to validate a model object on its data annotations outside of model binding? I'm looking for something similar to the rails model method of model.valid? or a way for me to implement that myself. My current solution is just manually checking if a few key fields are present but this duplicates requirements between my model class and its metadata, there has to be a better way to hook into the model validation checking that is done by mvc 2. Thanks

    Read the article

  • How to read the values returned by the Json?

    - by user281180
    I have the following code in my view: <% using (Ajax.BeginForm("JsonCreate", new AjaxOptions { OnComplete = "createCategoryComplete" })) { % Add new category <%=Html.TextBox("CategoryId")% <%=Html.TextBox("Test")% Name: <%= Html.TextBox("Name")% <%= Html.ValidationMessage("Name")% </p> <p> <input type="submit" value="Create" /> </p> </fieldset> </div> <% } % In the controller the code is as follows: [AcceptVerbs(HttpVerbs.Post)] public JsonResult JsonCreate(string Name) { if (ModelState.IsValid) { try { //Return a json object to the javascript return Json(new { CategoryId = 123, Test= "test successful" }); } catch { #region Log errors about the exception //Log error to administrator here #endregion } } //If we got this far, something failed, return an empty json object return Json(new { /* Empty object */ }); } What should be the code in the view for the following function to read the values returned by the Json and update the textboxes for CategoryId and Test? function createCategoryComplete() {....???}

    Read the article

  • Jquery - How to make $.post() use contentType=application/json?

    - by JK
    I've noticed that when using $.post() in jquery that the default contentType is application/x-www-form-urlencoded - when my asp.net mvc code needs to have contentType=application/json (See this question for why I must use application/json: http://stackoverflow.com/questions/2792603/aspnet-mvc-why-is-modelstate-isvalid-false-the-x-field-is-required-when-that) How can I make $.post() send contentType=application/json? I already have a large number of $.post() functions, so I don't want to change to $.ajax() because it would take too much time If I try $.post(url, data, function(), "json") It still has contentType=application/x-www-form-urlencoded. So what exactly does the "json" param do if it does not change the contenttype to json? If I try $.ajaxSetup({ contentType: "application/json; charset=utf-8" }); That works but affects every single $.get and $.post that I have and causes some to break. So is there some way that I can change the behavior of $.post() to send contentType=application/json?

    Read the article

< Previous Page | 2 3 4 5 6 7 8 9 10  | Next Page >