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 1086943
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T22:52:35+00:00 2026-05-16T22:52:35+00:00

Typical scenario, post to an action that checks ModelState.IsValid and if it is, saves

  • 0

Typical scenario, post to an action that checks ModelState.IsValid and if it is, saves to the DB. Validation rules are set as data annotations in the Model.

Here’s my issue. I have a data field that can’t be longer than 400 characters. The data annotations enforce this, as well as a jQuery validation on client side.

User enters 395 characters, including a few line breaks. My app, turns those newlines into <br /> tags. But that is after the UpdateModel() is called. Since the <br /> tags are longer than the newlines, it passes validation on UpdateModel, but fails when it actually tries to save to the DB.

code essentially like this (from NerdDinner):

[HttpPost, Authorize]
public ActionResult Edit(int id, FormCollection collection) {

    Dinner dinner = dinnerRepository.GetDinner(id);

    try {
        UpdateModel(dinner, "Dinner");
        dinner.Description = dinner.Description.Replace("\n", "<br />");
        //... now it's over length limit

        dinnerRepository.Save();

        return RedirectToAction("Details", new { id=dinner.DinnerID });
    }
    catch {
        return View(dinner);
    }
}

When the exception is thrown, the ModelState rule violations from the data annotations are not populated, so no message is shown to my users.

What’s a good way to handle this?

  • 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-16T22:52:36+00:00Added an answer on May 16, 2026 at 10:52 pm

    You should be able to write your code like…

    if (TryUpdateModel(dinner, "Dinner")) {
        dinner.Description = dinner.Description.Replace("\n", "<br />");
        //... now it's over length limit
    
        if (TryValidateModel(dinner)) {
            dinnerRepository.Save();
            return RedirectToAction("Details", new { id=dinner.DinnerID });
        }
    }
    
    return View(dinner);
    

    This gets rid of the try {} block and allows you to validate your model.

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

Sidebar

Related Questions

Say you have a 'post' object in a typical blog scenario. A blog post
Typical scenario: a class that a lot of people have worked on. I'd like
I have a typical scenario that I'm struggling with from a performance standpoint. The
I have this typical scenario. I have a smartclient application built on .net 2.0
In a typical enterprise scenario with in-house development, you might have dev, staging, and
The typical way of selecting data is: select * from my_table But what if
During a typical day programming, I implement functions in a way that I would
I have a list view that is displaying data using the gridview. This list
Typical scenario, I am using EntLib 5.0-April 2010 Logging on my development machine and
In a pretty typical scenario, I have a 'Search' text box on my web

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.