MVC :: To Put The Data Annotation Attributes - On The Viewmodel Classes Or On The Model?

Mar 20, 2010

I am using a model but as I want to have clean views I use the viewmodel approach which is like a downsized model which I map in my controller actions before sending to the view or getting it back in a HttpPost attributed action.

My question is: where to put the data annotation attributes. On the viewmodel classes or on the model? If I get it clearly the viewmodel annotations are used for the client side generation of validation right?

Do does that mean I have to put data annotations everywhere on both model and viewmodel?

View 11 Replies


Similar Messages:

Map Model Classes To ViewModel Classes Or Aggregate Model Classes In ViewModel Classes

Dec 15, 2010

I'm curious as to what people consider better practice, between duplicating model structure in the view model and using a mapping tool to move data between the two, or aggregate the model inside the view model, i.e. have a property on the view model class that is a reference to the actual model. Which is considered a better approach in general?

View 1 Replies

MVC 3. Data Annotation Attributes Are Not Woking

Feb 1, 2011

I've just installed MVC 3 and have the following problem. Even if I try to run the sample project, that is included in MVC 3 installation, when I go to the Register form, only the Required attribute causes validation. The Email Format attribute doesn't work,which means I can enter non-email string into the email field and it submits the form without any error messages.

View 6 Replies

MVC :: Data Annotation W/ Linq To SQL Generated Classes?

May 14, 2010

Technically I have the Data Annoations working with Linq to SQL classes - the problem is when validation
passes. When UpdateModel() tries to do its thing i can an error:The model of type 'MyProject.Models.Employee' could not be updated.What i did was i created a partial class for Employee (that is generated by linq to sql), then stuck a Meta Data class on top of it for the validation

[Code]....

And in my master page i include

<script type="text/javascript" src="/Scripts/jquery.validate.min.js"></script>

View 9 Replies

Data Annotation Attributes Not Working Using Buddy Class Metadata In An MVC App?

Oct 7, 2010

I have found hints that MVC 2 recognises the 'buddy class' type of property metadata, where data annotation attributes are applied to a 'buddy' metadata class, and the MetadataType on the actual entity class points to that buddy class, as below. However, as below, it seems the only attribute that makes any difference to the rendered UI is DisplayName. Why are the other attributes like DataType, Required, and ReadOnly not working? I.e. why can I enter text in a read only field? Why do I not get an error when a required field is empty? Why does the DataType attribute have no apparent effect? Why does EditorForModel not include validation messages?

[MetadataType(typeof(CustomerMetadata))]
public partial class Customer
{
public class CustomerMetadata
{
[ScaffoldColumn(false)]
public object CustomerId { get; set; }
[DisplayName("CustomerNo.")]
[ReadOnly(true)]
[Required(AllowEmptyStrings = false, ErrorMessage = "Customer No. is required.")]
public object CustomerNo { get; set; }
}
}

I find behaviour the same whether I use an explicit LabelFor and TextBoxFor for each model property, or a single EditorForModel for the whole model.

View 2 Replies

When Building A Datagrid Helper How To Access The New Data Annotation Attributes Using Reflection

Feb 3, 2010

So I've eagerly added the System.ComponentModel.DataAnnotations namespace to my model.

I've added things such as:

[Required] [DisplayName("First Name")]
public string first_name {get;set;}

I really like these attributes because they save me from having to write custom T4 and/or modify views heavily. This way, I can regenerate a view confident that it will add the display names I want, etc.

The problem comes in when I started building a DataGrid helper inspired by the one in ASP.NET MVC2 unleashed. In this helper, Stephen uses reflection to get at the column headings.

var value=typeOf(T).GetProperty(columnName).GetValue(item,null) ?? String.Empty;

Well, the trouble is I don't want to retrieve the property name. I want to retrieve the value for the DisplayName attribute.

My first attempt at this was to look inside the Attributes property of the PropertyInfo class. Unfortunately, none of the data annotations show up as an attribute.

Is there a way to retrieve the data annotations using reflection?

View 2 Replies

MVC :: How To Display Model Level Custom Data Annotation Validation Error

Nov 30, 2010

I am a MVC newbie & am lost in various ways validation can be implemented in my application.

I created a custom model-level data annotation validator attribute, but am unable to display its error message in the view. Basically, I have let's say 5 properties in the Entity class Job (model-level custom attribute called UniqueKeywords defined on it):

1) LoginID: value comes in the URL

2) Title: Required property level attribute defined on it

3) CatID1, CatID2, CatID3 - 3 categoryIDs - these are dropdowns in the view with same list of keywords in all 3.

I want to mandate that the values picked by the user in all 3 category dropdowns should be different.

With reference to the code pasted below, here is the explanation of what happens:

When I submit the form without specifying a title or picking anything from any of the 3 category dropdowns, the validation occurs for the property level Required attribute as well as model level uniquekeywords attribute, but the error is displayed only next to the required field "Title". I can confirm that the custom validation also works by filling in some text in the Title field & then re-posting the form...this re-displays the view, but the error message "Category cannot be duplicated" is not displayed.

Only relevant code sections are pasted below:

My Entity class code:

[Code]....

View 10 Replies

MVC :: Scenarios Where Data Validation Is Done In The Viewmodel Not The Model?

Jun 8, 2010

point out an example or tutorial online that shows where data validation is done in the viewmodelas against the model? i saw a number of posts where that method is recommended..i dont really agree with it but i would like to see how it would work out..

View 2 Replies

MVC :: How To Use Of Validation With Data Annotations In Model Classes

Dec 12, 2010

I make use of validation with data annotations in my model classes. How do I make sure this annotations are not violated when I validate data in my business layer, before sending it to the DAL? I guess I don't want to define the validation rules in two places (model classes and in my BLL-classes)?

View 6 Replies

ADO.NET :: How To Create Classes And Interfaces Using Entity Data Model

Jan 28, 2011

I am setting up my new project..We are using entity frame work 4.0..

Is there any way to generate all classes and interfaces as we create manually for 3-tier architecture...

Or do i need to generate manually...

Ex:

Itest.cs
Public Interface ITest
{
int testproperty {get;set:}
}
Test.cs
Public class Test: ITest
{
public int testproperty {get;set:}
}

View 1 Replies

MVC :: Validation With Model As Property To ViewModel?

Jan 11, 2011

I have a viewmodel with a property of a model class type. I set some properties in the model class to be able to show it to the user but then when I make a post, the model gets validated. How to overcome this? I don't want to enforce the DataAnnotations contraint in this case....

public class TheViewModel
{
TheModel TheModel { get; set;}
}
[code]...

View 1 Replies

C# - Model Validation With ViewModel Don't Works?

Dec 9, 2010

I use viewModels to communicate between my controller and my view. To get model validation, i use a partial class like this :

[MetadataType(typeof(EvaluationValidation))]
public partial class Evaluation
{
public class EvaluationValidation
{
[DisplayName("Title of evaluation")]

[Code]....

View 1 Replies

ADO.NET :: Capture Updated / Changed Rows In The Entity Data Model Context Classes?

Dec 16, 2010

I am using an Entity Data Model (.edmx) in my project. I am using context.Customers to bind the grid.

Now when the datasource is binded to grid, i made some updates for 2 rows in the database.

Now, how can i capture those 2 updated rows in the context........?

View 1 Replies

Viewmodel - Mvc Strongly Typed View Model With Multiselect

Jan 5, 2010

I would like to know how i can bind my form values to my strongly typed view from a MultiSelect box. Obviously when the form submits the multi-select box will submit a delittemered string of my values selected...what is the best way to convert this string of values back into a list of objects to attach to my model to be updated?

public class MyViewModel {
public List<Genre> GenreList {get; set;}
public List<string> Genres { get; set; }
}

When updating my model inside the controller i am using UpdateModel like below:
Account accountToUpdate = userSession.GetCurrentUser();
UpdateModel(accountToUpdate);

However i need to somehow get the values from the string back into objects. I beleive it may have something to do with model-binders but i can't find any good clear examples of how to do this.

View 2 Replies

The Model-Repository-Service-Validator-View-ViewModel-Controller Design Pattern

Jan 19, 2010

When I first heard about ASP.NET MVC, I was thinking that would mean applications with three parts: model, view, and controller.

Then I read NerdDinner and learned the ways of repositories and view-models. Next, I read this tutorial and soon became sold on the virtues of a service layer. Finally, I read the Fluent Validation documentation, and I'll be darned if I didn't end up writing a bunch of validators.

Tonight, I took a step back and thought about what had become of my project. It seems to have become the victim of the design pattern equivalent of "feature creep". Somehow I'd gone from Model-View-Controller to Model-Repository-Service-Validator-View-ViewModel-Controller. You want loosely coupled and DRY? We got your loosely coupled and DRY right here! But I'm wondering if this could be a case of too much of a good thing.

Am I right to be concerned? Or is this actually not as crazy as it sounds? On one hand, it seems crazy to have so many layers. On the other hand, every layer has a clearly defined purpose that makes sense to me. Have your MVC applications turned into MRSVVVMC apps too? If not, what do they look like? Where's that right balance?

View 2 Replies

MVC :: Inherited Model Classes?

Feb 26, 2010

This is my first post in this forum and I want to congratulate all the ASP.Net MVC team for this great framework.Somedays ago, I saw the new ASP.Net MVC 2 Model Validation, following the instructions from Scott Gu blog...I found something interesting that I don't know if it's an expected behavior or a bug.My Model class is inherited, so I have something like this:

[Code]....

I have an descendent of this class with some more properties, and the validators for ASP.Net MVC:

[Code]....

Then I found that the Client validation don't work for the inherited property

View 11 Replies

MVC :: Some Model Metadata Attributes Don't Seem To Work With Html.EditorForModel ()

Apr 5, 2010

i am working an asp.net mvc 2 web app using model metadata and some of the model metadata don't seem to work when using the default Html.EditorForModel().For example, when applying the DefaultValue(1) and the ReadOnly(true) attributes on a model field, the field displayed on edit view has zero for its default value and it is not read only.

View 5 Replies

MVC :: Creating Foreign Key In Model Classes?

May 31, 2010

I am trying to create a relation between 2 of my model classes. I have separated my Model classes to be in their own project "Domain Model" and the application exists in the "WebUI" project.

I have 2 models.... SupportIssues and Users....

SupportIssues has a column UserID which is also a primary key in the Users table.

I want to create a relationship where one user can have many support issues.

I just can figure out how to do this?

Here is a snippet of my supportIssue.cs class:

[Code]....

How can i link UserID to my User.cs class?

Is it anything to do with the [Associate] tag?

View 2 Replies

MVC :: Html.RenderPartial Appears To Be Stripping Model Of Custom Attributes

Aug 27, 2010

I have implemented a custom ModelMetadataProvider so that I can decorate my view models with some custom attributes and everything was working fine until I made use of a Partial View. The following code in my view works fine: -

<%: Html.DisplayFor(x => x.Results) %>

Results is a List which renders a custom display template and is also decorated with a custom attribute. Using breakpoints, after the above line and prior to the code within the custom display template, the overridden CreateMetadata method in my custom ModelMetadataProvider is invoked. If I look at the attributes collection parameter I can see that it does contain my custom attribute thus everything working as expected. However, if I replace the above with the following line of code in my view then it breaks: -

<% Html.RenderPartial("ApplicationSearchResults", Model.Results, new ViewDataDictionary()); %>

All the Partial View contains is: -

<%: Html.DisplayFor(x => x) %>

Again using breakpoints, after the above line and prior to the code within the custom display template, the overridden CreateMetadata method in my custom ModelMetadataProvider is invoked. But this time if I look at the attributes collection parameter my custom attribute is not there.

View 4 Replies

Automatically Generate Buddy Classes From Model In C#

Apr 28, 2010

I use Linq to Sql (although this is equally applicable in Entity Framework) for my models, and I'm finding myself creating buddy classes for my models all the time. I find this time consuming and repetitive. Is there an easy way to automatically generate these buddy classes based on the models? Perhaps a visual studio macro?

[MetadataType(typeof(PersonMetadata))]
public partial class Person
{
}
public class PersonMetadata
{
public object Id { get; set; }

View 4 Replies

Model Collections Of The Same Class Held By Several Other Classes?

Nov 30, 2010

How do I model the following using Castle ActiveRecord?

I have two classes, Customer and Task.

I would like to reuse a third class, Note, stored in a Collection in each of the Customer and Task classes.

[Code]....

I would then like to be able to pass the Notes collection to a Gridview, Listview or Repeater in the relevant ASP.Net page for the Customer or Task classes.

View 2 Replies

C# - How To Access Attributes Of Properties In The Model From Strongly Typed Custom HtmlHelper

Mar 18, 2011

I have a view that is strongly typed and its model is of type LogOnModel. That LogOnModel has anotated properties like this one:

[Required(ErrorMessage = "Please enter your password")]
[DataType(DataType.Password)]
[Display(Name = "Password", Description = "Your secreet password")]
public string Password { get; set; }

All of them has Display anotation with Display.Descripion property set. I want to create HtmlHelper extension method that will output <span> containg the value of Display.Description property. So for example if I called my extension method DescriptionFor than this code:

<%: Html.DescriptionFor(m => m.Password) %>

should produce following html: <span>Your secreet password</span>

View 1 Replies

Visual Studio :: Configure SQL Server In VS2010 / Creating Model Classes With Linq To SQL?

Mar 17, 2011

I can't believe I'm having so much trouble finding this information. I'm endeavouring to learn about creating model classes with Linq to SQL. By default VS2010 wants to use SQL Express, but our organisation has several database servers for development so I'd rather use one of those. PLEASE can somebody tell me how I can configure VS2010 to do that, as all I get is 'A network-related or instance-specific error occurred while establishing a connection to SQL Server ... Verify that the instance name is correct'. Yeah, thanks Microsoft. Actually telling me how to verify the instance name would be a really good move here.

View 1 Replies

MVC :: Data Annotation Add And Edit Mode

Jun 23, 2010

i have a field username which i want to have as a label in the edit.aspx and as a typical textbox in create.aspx . i have applied datannotation class . how would i do that. in the edit mode it is always going model.isvalid ==false . so what i did had a textbox there with the label and hid it . it is working fine now . but is there any clean way this is done in dataannotation

View 5 Replies

Create Custom Data Annotation Validators?

Aug 5, 2010

Wanting to create custom data annotation validation. Are there any useful guides / samples on how to create them?

Firstly: StringLength with minimum and maximum length. I'm aware .NET 4 can do this, but want to do the same in .NET 3.5, if possible being able to define minimum length only (at least x chars), maximum length only (up to x chars), or both (between x and y chars).

Secondly: Validation using modulus arithmetic - if the number is a valid length, I wish to validate using the Modulus 11 algorithm (I have already implemented it in JavaScript, so I guess it would just be a simple porting?)

Update: Solved second problem, was just a case of copying over the JavaScript implementation and making a few tweaks, so don't need a solution for that.

View 1 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved