Why this matters
Failing to check `ModelState.IsValid` before processing user input can result in invalid or unverified data being accepted.
Failing to check `ModelState.IsValid` before processing user input can result in invalid or unverified data being accepted.
Failing to check `ModelState.IsValid` before processing user input can result in invalid or unverified data being accepted.
Side-by-side examples engineers can pattern-match during review.
public async Task<IActionResult> Create(Movie movie) // Noncompliant: model validity check is missing
{
_context.Movies.Add(movie);
await _context.SaveChangesAsync();
return RedirectToAction(titleof(Index));
}public async Task<IActionResult> Create(Movie movie)
{
if (!ModelState.IsValid)
{
return View(movie);
}
_context.Movies.Add(movie);
await _context.SaveChangesAsync();
return RedirectToAction(titleof(Index));
}public async Task<IActionResult> Create(Movie movie) // Noncompliant: model validity check is missing
{
_context.Movies.Add(movie);
await _context.SaveChangesAsync();
return RedirectToAction(titleof(Index));
}public async Task<IActionResult> Create(Movie movie)
{
if (!ModelState.IsValid)
{
return View(movie);
}
_context.Movies.Add(movie);
await _context.SaveChangesAsync();
return RedirectToAction(titleof(Index));
}From the same buckets as this rule.