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

  • Home
  • SEARCH
  • 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 296401
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T06:32:43+00:00 2026-05-12T06:32:43+00:00

When I post a ‘Model’ object (as generated by LinqToSQL) to a controller, I

  • 0

When I post a ‘Model’ object (as generated by LinqToSQL) to a controller, I can query ‘ModelState.IsValid’, and if there are validation attributes on any of the properties and the value doesn’t validate, it will be set to ‘false’.

However, ModelState.IsValid seems to always return ‘true’ if I’m posting a custom object of my own class, even if the properties on that class have validation attributes and are given incorrect values.

Why does this only work with DataContext model objects? What is it about these objects that makes them work with ModelState.IsValid, while normal classes don’t?

How can I make it work with normal classes?


Controller code:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult LogIn(MyProject.Website.ViewModels.Shared.LogIn model)
{
    if (ModelState.IsValid)
        return View(model);

    // ... code to log in the user
}

ViewModel code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using MyProject.Website.Validators;
using System.ComponentModel;

public class LogIn
{

    public LogInModes LogInMode { get; set; }

    [Required] 
    [EmailAddress]
    public string EmailAddress { get; set; }

    public string Password { get; set; }

    public bool RememberMe { get; set; }

    public string ReturnUrl { get; set; }

}
  • 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-12T06:32:44+00:00Added an answer on May 12, 2026 at 6:32 am

    Have you set DataAnnotationsModelBinder as your default model binder in Application_Start event of your Global.asax file like this?

    protected void Application_Start() {
        ModelBinders.Binders.DefaultBinder = new DataAnnotationsModelBinder();
    }
    

    Becasue as far as I know, the attributes under System.ComponentModel.DataAnnotations namescape only work with that model binder.

    You can also set your model binder only for that action :

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult LogIn( [ModelBinder(typeof(DataAnnotationsModelBinder))]
        Yieldbroker.Website.ViewModels.Shared.LogIn model) {
        //...
    }
    

    See this blog post and this question.

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

Sidebar

Ask A Question

Stats

  • Questions 149k
  • Answers 149k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer The reason you're having trouble is that you can't include… May 12, 2026 at 9:35 am
  • Editorial Team
    Editorial Team added an answer You just need to cast the values to integers: rank… May 12, 2026 at 9:35 am
  • Editorial Team
    Editorial Team added an answer Download jad decompiler /configure its path in eclipse through windows->preferences… May 12, 2026 at 9:35 am

Related Questions

Often when I post a comment or answer on a site I like to
I'm trying to run a WCF ServiceHost as an NT Service on a Windows
I have a model as follows class UserPrivacy(models.Model): user = models.ForeignKey(User) profile = models.SmallIntegerField(default=1,
I'm using AsyncSocket to connect to a server from my iPhone App. In the
I am getting the following error when I post back a page from the

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

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.