I have a situation in ASP.NET MVC 2 where I have a form whose fields are based on info supplied by a view model, but whose posted data is a subset of that data represented by a slimmer edit model. I'd like to add simple data annotation validation to the edit model, but since the view is based on the view model, I'm not sure how to proceed.
How to handle model validation when the bound edit model != view model
174 Views Asked by Major Productions At
1
There are 1 best solutions below
Related Questions in ASP.NET-MVC-2
- How can i display the Role name for a user in ASP.NET
- How to upgrade mvc2 to mvc5?
- Can a existing MVC2 application migrated to Azure Cloud Service Project?
- Asp.net MVC2 login to MVC5 login
- The specified named connection is either not found in the configuration
- expand a drop downlist when click on the more option
- Change date format in whole application
- Rendering MVC2 view to a string in unit test
- ASP.Net MVC 2 - Code for master page
- Simple paging in mvc 2
- asp.net MVC2 - can not config folder View in folder Worldstore
- Uploading multiple files asp.net mvc4 in a single form
- Sql Server 2012 store pdf
- How to pass the list value at redirect to action in mvc 2
- mvc2 to mvc3 validation issues
Related Questions in VIEWMODEL
- MVVM: Updating ViewModel properties based on Model properties
- WPF use one ViewModel for multiple UserControls
- In MVC can ViewModels access service layer?
- How do I set a property in a ViewModel from another ViewModel in MVVM Light Toolkit
- View Model place in N Tier ASP .NET MVC application
- Cannot implicity List into IEnumerable
- Updating UI Bound to Dependant Properties
- MVC Viewmodel to display only model data
- Big giant view model for long scrolling page
- How to create a view model from a model interface in MVVM style?
- Unable to retrieve dynamic control generated from db - POST values (Model Binding)
- chained store source from another viewmodel
- How to load non model data in ExtJS viewmodel?
- Best practice for loading non model data in ExtJS
- How to wrap a button click event to the right ViewCell
Related Questions in VALIDATION
- Escape dot in jquery validate plugin
- PHP form validation: Where to plop the code
- i want to create a service that does the login functionality?
- Stray start tag head, Element style not allowed as child of element body in this context. (Suppressing further errors from this subtree.)
- Html File Input on Chrome for Android missing extension and mime type
- javascript check input fields are not blank and check input field length?
- Symfony 2 form - date widget and validator
- Bean Validation message interpolation with array constraint parameter used as variable in message
- Bash regular expression execution hangs on long expressions
- Accessing the main object in a javax.validation.ConstraintValidator
- RAILS: date_select validation
- How can I define items of an array in a form in AngularJS
- Validation DataGridView Windows Forms
- How to handle multiple if statements PHP
- Restrict comma in asp.net textbox
Related Questions in EDITMODEL
- Jqgrid custom formatter and edit mode
- How to handle model validation when the bound edit model != view model
- How should I map Edit Models to Domain Models
- Map EditModel using Automapper
- Reference implementation of ASP.NET MVC using ViewModels, EditModels, and AutoMapper
- How to mutate editmodel/postmodel to domain model
- Popup Calendar in edit mode of asp.net gridview
- can't update an existing record in CakePHP
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
View model and controller action parameters don't have to be the same.
In your case this means that you may be using a richer model class to generate your view (and maybe even posting more information than needed) but your controller action would only use some information from that posted data to populate a simpler application model object instance. No problem. As long as field naming will suffice to populate properties correctly.
You may have these two classes:
and then your view would be using
Personand your controller action would have a parameter of typeUser. Fine. It will work.There's no need for these classes to inherit each other either. I've just made it so in this simple example because this way they both share common property names. But otherwise they don't have to be related in any way shape or form as long as posted field names will be able to model bind to controller action parameter class properties.