Click here to Skip to main content
15,941,615 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
Hi Everybody,

I have a Model in which have Two Properties that i need to compare and they properties should not equal.

Public class Customer
public string NewPassword {get; set;}
public string OldPassword {get; set;}

Is there any attribute avalable for same like : Not Compare

Updated 27-Jun-19 10:48am

maybe something like this

public class NotEqualAttribute : ValidationAttribute
  private string OtherProperty { get; set; }

  public NotEqualAttribute(string otherProperty) 
    OtherProperty = otherProperty;

  protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    // get other property value
    var otherPropertyInfo = validationContext.ObjectType.GetProperty(OtherProperty);
    var otherValue = otherPropertyInfo.GetValue(validationContext.ObjectInstance);
    // verify values
    if (value.ToString().Equals(otherValue.ToString()))
      return new ValidationResult(string.Format("{0} should not be equal to {1}.", validationContext.MemberName, OtherProperty));
      return ValidationResult.Success;


public string OldPassword { get; set; }
public string NewPassword{ get; set; }
Share this answer
Go to VS.
Create new project of type MVC Application -> Internet Application.
Then go to Models folder and look at AccountModels.

Are you see this? :

[StringLength(100, ErrorMessage = "Value {0} must be greater length than {2} symbols.", MinimumLength = 6)]
[Display(Name = "New password")]
public string NewPassword { get; set; }

[Display(Name = "Confirm Password")]
[Compare("NewPassword", ErrorMessage = "New Password and Confirm Password are not equal.")]
public string ConfirmPassword { get; set; }

How do you like this standart attribute "Compare"?

UPD: Sorry not properly understand you from first time.
Share this answer
Anubhava Dimri 2-Jul-13 10:42am    
Hi Denis,

My Requirement is that there is two property OldPassword and NewPassword. and i want the Attribute when OldPassword is not same as NewPassword.

I just want the opposite situation of the Compare.

In your situation OldPassword and NewPassword must be same. but i just want the opposite case.
Denis Shemenko 2-Jul-13 10:46am    
try this:
just change the comparison operator for your needs :)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900