Validation Was Seen More Than Once: Implicit Required Attribute

I recently encountered a duplicate validation error in ASP.Net MVC. At first, this error is mystery to me because it still gave me exception error after I disabled ALL my validations.


Turns out, this is an easy fix. Root cause is by default MVC set AddImplicitRequiredAttributeForValueTypes property to true. This basically means validation is automatically performed on value type. In my case, I have CountryId as follow:

public class Country {
    public int CountryId { get; set; }

Since CountryId is not nullable, MVC add require validation for the property.

To fix this, you can either set your value type to nullable or set AddImplicitRequiredAttributeForValueTypes to false.

Nullable Value Type

Notice the int is now int?

public class Country {
    public int? CountryId { get; set; }


Set AddImplicitRequiredAttributeForValueTypes to false in your Global.asax.cs.

DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false;

Resource: MSDN

1 thought on “Validation Was Seen More Than Once: Implicit Required Attribute”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s