Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6171003
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T23:08:15+00:00 2026-05-23T23:08:15+00:00

I have a viewModel I want to perform some more custom validation on. I

  • 0

I have a viewModel I want to perform some more custom validation on.

I have made my viewModel to inherit from IValidatable and have some validation in:

public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{

   ...

}

This works fine but I only want the validation for creates and not edits. I’m thinking the only way of doing this is some how determining within this method whether it is an edit or a create.

Is there a way of doing this or am I thinking aboout this whole thing incorrectly?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-23T23:08:16+00:00Added an answer on May 23, 2026 at 11:08 pm

    Use a separate view model for your create and insert actions. If your validation rules are that different, I think it would be worth it to use separate models anyway.

    public class InsertMyObjectViewModel : IValidatable
    {
        [Required]
        public string Name { get; set; }
    
        // note the lack of Required attribute here
        public string Address { get; set; }
    
        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
        {
            ...
        }
    }
    

    And a separate for edit

    public class UpdateMyObjectViewModel : IValidatable
    {
        [Required]
        public string Name { get; set; }
    
        [Required]
        public string Address { get; set; }
    
        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
        {
            ...
        }
    }
    

    This could make sense if your business rules dictate, for example, a customer’s name upon registration but not their address. However, when a user modifies their account, your business rules may require an address. It makes sense in a lot of cases to use a 1:1 viewmodel:action ratio per object.

    Now, when you write your Validate logic, it becomes much simpler. There may be a bit of duplication, but it’s easier to modify when your business rules change in the future.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a viewmodel that contains a product and SelectList of categories. public class
Do you think it is alright from architectural stand-point to have ViewModel - View
I have a viewModel with an observableArray that gets updated from the server, then
I have a ViewModel in WPF that looks something like this: public class SwatchViewModel
Suppose you have a viewModel: public class CreatePersonViewModel { [Required] public bool HasDeliveryAddress {get;set;}
Suppose I have ViewModel like public class AnotherViewModel { public string Name { get;
I have a ViewModel class which i want to respond to the built in
I have a ViewModel like this: public class MyViewModel { [Display(Name = One_Name, ResourceType
I have a situation where I want to use a custom EditorTemplate with a
If i have a ViewModel like this: public class MyViewModel { [UIHint(SomeTemplate)] public ICollection<SomeViewModel>

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.